Intereting Posts
Mysql PHP сгенерированная таблица: не работает с Tablesorter Loop mysql_fetch_assoc с использованием foreach вместо цикла while Как получить несколько строк из базы данных в PHP Как эхо-массив Когда мы выбираем DateTime над Timestamp JanRain OpenID в PHP SREG? Не предоставлять доступ к определенному методу в контроллере, если сеанс не установлен в кодеигниторе как создать коллекцию многомерных массивов и не перезаписывать исходные значения при нажатии новых Можно ли использовать встроенные комментарии для файлов .ini с PHP? str_replace ключи в многомерном массиве PHP SQL JOIN – нужно вернуть один идентификатор продукта, но все его варианты (например, размер, цвет) Как реализовать маршрутизацию URL в PHP Получение измененных данных обхода дерева запроса в массив PHP или htaccess делают страницу динамического URL-адреса равным 404, когда элемент отсутствует в БД PHP pThreads – Как вы выполняете сборку мусора?

Хранение файлов в базе данных Vs файловой системы

один из моих клиентов просит систему управления документами для нескольких тысяч документов в разных форматах, например, pdf, doc, docx и т. д. Мой вопрос в том, что является лучшим способом сохранить этот файл в базе данных или в файловой системе? Как легко обеспечить документ между двумя подходами ?.

Ключевым требованием является быстрое извлечение файлов.

Я использую mysql, если это помогает

С уважением.

Возможно, вы захотите сохранить его непосредственно в файловой системе.

При использовании файловой системы:

  • Конфиденциальность. Поместите документы за пределы вашего корня документа Apache. Затем ваш PHP-контроллер выведет документы.
  • Оверенный путь: не храните тысячи документов в одном каталоге, создавайте разные каталоги. Например, вы можете очертить хеш на имени файла. Например, /documents/A/F/B/AFB43677267ABCEF5786692/myfile.pdf.
  • Номер Inode: вы можете запустить из inodes, если вы храните много мелких файлов (возможно, это не так, если вы храните в основном документы PDF и офисные документы).

Если вам нужно искать эти документы (дата / название / и т. Д.), Вы можете захотеть сохранить метаданные в базу данных для лучшей производительности.

FYI, в этом вопросе MS SQL Server имеет тип столбца FILESYSTEM (например, гибрид), но на данный момент у MySQL нет альтернативы .

Использование доступа к файловой системе для больших datablobs означает, в общем, быстрый доступ и меньше накладных расходов, чем хранение их в базе данных mysql.

Один интересный и возможно связанный пост: Хранение изображений в DB – Yea или Nay?

для высокой производительности вы должны использовать файловую систему, используя функцию php glob и интерфейс JS. Я закончил этот проект в марте.