2012-06-12 2 views
1

У меня есть файл PHP, содержащий большой массив (около 90 КБ). Я планирую переместить его в базу данных, но я не уверен, что это стоит того.Производительность массива PHP и базы данных

В целом, я могу столкнуться с проблемами с массивом 90 КБ? Смогу ли я улучшить скорость, перемещая данные в базу данных?

+0

Как сказал Джон, массивы намного быстрее. Я создал структуру кэширования, которая хранит массивы в файлы (например, тот, о котором вы говорите), и это потрясающе, когда дело доходит до производительности. Блестящий для звонков AJAX. –

ответ

6

Массивы быстрее, чем доступ к базе данных. Доступ к базе данных - одна из самых дорогих вещей, которые вы можете сделать в PHP, при этом доступ к массиву является одним из самых быстрых.

+3

Что делать, если вам нужен только один элемент? Выполнение быстрого запроса БД в индексированной таблице может быть быстрее, чем анализ файла и назначение переменных массива на 90 Кб. Там должен быть перекресток, где запрос БД становится более полезным. Как насчет таких вещей, как сортировка? Разумеется, индексированная БД была бы быстрее, чем массив. – Mike

+0

Майк делает хороший момент, интересно, в какой момент становится неэффективным загружать массив PHP и быстрее выполнять запрос БД. –

+1

Нет, не @ 90Kb. Это достаточно мало для кэширования в кеш-памяти VFAT, и даже при пропуске кэш-памяти будет генерироваться только один или два физических ввода-вывода. Накладные расходы процессора тривиальны. Главное - (i) обеспечить, чтобы вы только писали обратно на загрязненный контент, и (ii) иметь стратегию конкуренции, если у вас есть параллельные транзакции. – TerryE

Смежные вопросы