[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как лучше сохранять фото в БД
vovan1409
Предполагается, что в БД будут храниться порядка 100 тыс. фото, размер каждой около 100-500кб. Уже определился, что в БД будут храниться только пути к фото, а они сами в папке. Будет ли разница в производительности если хранить их все в одной папке, или лучше в зависимости от первой буквы названия фотографии распределять их по папкам(англ. алфавита)?
inpost
не вижу смысла, всё кидай в одну папку. К тому же имя лучше генерировать своё какое-нибудь левое smile.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
vovan1409
т.е. в скорости поиска фото по запросу БД, если размещать фото в папках, я не выйграю?
Nikitian
Распределение по различным директориям в дальнейшем позволит без геморроя удалять и бродить по ftp. Я строю структуру исходя из того, что имя - 32 символа 16-ричной системы счисления. Первый уровень: первая группа из 3 символов, второй уровень - вторая группа из 3 символов. Таким образом, в директории не может быть более 256 поддиректорий, что практически не скажется на удобстве работы через ftp.
Кстати, есть подозрение, что большое количество файлов в одной директории замедляет работу сервера. На прошлой работе после подобного разноса нескольких миллионов файлов по поддиректориям, сервер стал работать несколько шустрее. Там был голый апач.
killer8080
Цитата (Nikitian @ 8.01.2013 - 20:43)
Кстати, есть подозрение, что большое количество файлов в одной директории замедляет работу сервера.

так оно и есть, слишком большое количество файлов в директории увеличивает время доступа к файлу, а листинг директории превратится в кошмарный сон. Кроме того не забываем что существует ограничение на количество файлов в одной папке, у разных ФС оно разное, но оно есть.
T1grOK
Цитата (killer8080 @ 8.01.2013 - 22:29)
Цитата (Nikitian @ 8.01.2013 - 20:43)
Кстати, есть подозрение, что большое количество файлов в одной директории замедляет работу сервера.

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

Подтверждаю!!! Говорю не по наслышке.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
inpost
Единственный минус - листинг директорий . Мой брат сис-админ с 10 летним стажем, говорит, что на чтение не влияет, разбивать на папки нет смысла. Лимит для той же фряхи на столько велик, что скорее всего только гуглу есть смысл разделять фотографии на разные папки.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Hello
inpost, количество влияет, но только при > 10M

_____________
VPS от 5$, первые 2 месяца - бесплатно.
inpost
Hello
У меня в базе около 100 000 анкет, в каждой где-то от 4 до 6 фотографий, берём в среднем + дополнительно... ну у меня в папке 1 млн. записей, не видел проблем. 10 млн+ приму к сведению. Даже любопытно увидеть...

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
SlavaFr
http://stackoverflow.com/questions/466521/...ory-is-too-many
по моему собственному опыту скорость нахождения файла в папке конкретно уменьшалась с количеством файлов в одной папке. Уже при 5000 Файлах на прямую лежащих в одной папке, скорость поиска доходила до 2 секунд и не зависела не как от размера конкретных файлов.
Возможно с тех пор все изменилось и улучшилось.

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.