Смотря как настроена база, и на чём написан сборщик из пачки файлов, как часто к этим файлам обращаются.
Давайте рассмотрим как обрабатывается запрос к базе.
1 Запускается приложение (вероятно скрипт на php?)
2 Делается запрос через unix или inet socket.
3 База парсит запрос и ищет в себе наличие соответствий.
Этот процесс включает в себя поиск по индексу (если таковой есть), и чтение данных из нужного места в табличке. Если к табличке к этим данным обращения достаточно частые,
то некоторе количество данных будут в памяти mysl'я. Соответственно он выполнит запрос быстро. Если на машине с базой недостаточно памяти, или mysql настроен так, что не может выделять достаточное количество памяти для кэширования, то он эти действия будет выполнять на жестком диске.
4 результат по тому-же сокету едет к скрипту который формирует ответ и выдаёт посетителю.
Рассмотрим вариант, когда выгребается пачка файлов.
1 Пусть запускается всё тот-же php скрипт
2 Последовательно считывает в свой буфер в памяти пачку файлов с диска.
и формирует ответ.
Тут есть тонкость. файловая система имеет свои кэши. Если к этим файлам идут обращения чаще, чем у другим, то высока вероятность того, что файлы уже в этом кэше.
3 Выдаёт ответ посетителю сайта.
Так вот. В случае если данные требуются и достаточно часто получаются будь то из базы или с диска, то они скорее всего в памяти мускула или файловой системы.
Однако, mysql это userland, тоесть процесс выполняющийся на уровне пользователя, а вот файловая система работает на уровне ядра.
Кроме того, обращения к mysql'ю через сокет это лишние накладные расходы как на cpu, так и на память. Что тоже сказывается на скорости выполнения общей задачи.
Мой (imho) вывод. При прочих равных быстрее будет выдача, если собирать файлы с диска.
844 забрал. Спасибо!
Готов приобрести светотехнику.
Забираю 835.
Двадцать одна тысяча рублей.
Если в январе переоформим, то забираю за 11999р.
Девятнадцать тысяч рублей.
67 .
57 .
Моя ставка 50 wmz