weranda
@weranda

Что быстрее отрабатывает — запрос к файлу или в БД?

Приветствую.

Есть два варианта получения данных: из файла и базы данных.
Данные просты и включают в себя: имя файла, путь до него и его описание.

Что быстрее отработает?
1. Запрос к файлу в 1000 строк с выборкой из него 50 элементов.
2. Запрос в БД в 5000 строк с выборкой из нее 50 элементов.
  • Вопрос задан
  • 151 просмотр
Решения вопроса 4
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Зависит от того, где лежит файл и где лежит база. А ещё как она сконфигурирована. А ещё от кучи других переменных.
Измерять сферических коней в вакууме бессмысленно, но вам абсолютно ничего не мешает сделать файл, сделать таблицу и провести исследование в реальных условиях.
Но сразу скажу, что при таком малом количестве данных, вы на бенчмаркинг потратите больше времени, чем сэкономите за сотню лет, выбрав наиболее производительный вариант.
Ответ написан
Комментировать
romesses
@romesses
Backend инженер
Зачем плодить доморощенные форматы данных, когда есть SQLite?
И в коде сразу будет понятно что происходит, достаточно будет посмотреть на SQL запрос.

Добавлено
А если MySQL уже подключена, то вопрос вообще теряет смысл. Нужно просто использовать SQL где можно.

Кроме того, что у вас за проблема с запросом на MySQL, что вы решились на сравнение?
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev
software engineer
В нормальной системе, и файл и база размером в 1000-5000 строк после первого чтения будет висеть в кеше оперативки, и доступ будет примерно одинаковый.

Вот уже в зависимости от сложности запроса, может быть разница в том, как долго обрабатывать запрос.
При этом при работе с базой, которая крутится отдельным процессом и скорее всего запрос в нее будет выполняться на другом ядре, может дать прирост производительности. А может и не дать.

В общем в вашем случае нет смысла заниматься преждевременной оптимизацией. Либо делаете как удобно, либо пишете нагрузочный тест, и меряете на конкретном примере.
Ответ написан
Комментировать
Fragster
@Fragster
помогло? отметь решением!
Если руки не кривые и формат у файла человеческий - к файлу будет быстрее. Но если захочется что-то бОльшее (соединения данных из нескольких источников, продвинутая фильтрация, транзакции с контролем целостности), ну, или данных станет больше - то тут уже СУБД лучше.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы