Что быстрее? извлечь данные из базы данных или извлечь их из текстового файла? - PullRequest
0 голосов
/ 27 июля 2011

Я создаю страницу с множеством различных элементов и хочу показать всплывающую подсказку, когда вы наводите курсор мыши на каждый элемент.Существуют тысячи элементов, поэтому информация для каждой подсказки должна быть записана с помощью ajax.

Мне было интересно, лучше ли сохранять всю эту информацию всплывающей подсказки в базе данных mysql и извлекать всю необходимую информацию с помощью одного запроса AJAX, или лучше сохранять каждую подсказку в отдельном файле и каждый файл AJAX, когда это необходимо.

Ответы [ 4 ]

1 голос
/ 27 июля 2011

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

Тем не менее, вы можете рассмотреть следующие две вещи:

  • Получение их всех сразу, если имеется много данных, может замедлить отклик страницы
  • Получение их по одномувремя может замедлять работу каждого элемента и приводить к множеству многочисленных обращений к серверу

Хорошее решение может состоять в том, чтобы сгруппировать всплывающие подсказки в группы, к которым, вероятно, будет получен доступ одновременнот.е. группа для каждого раздела страницы).Затем вы можете получить группу, имеющую необходимую всплывающую подсказку, и она получит все, что может потребоваться пользователю вскоре после этого.

Другой вариант - получить подсказки через файл javascript (вместочерез ajax), а затем загрузить файл асинхронно после загрузки страницы.Страница отобразится, и, пока пользователь впервые просматривает ее, подсказки могут загружаться в фоновом режиме.Если я правильно помню, это также позволит браузеру кэшировать данные (файл js), чтобы не нужно было перезагружать информацию, если пользователь возвращается на ту же страницу (т. Е. Кэширование без необходимости выполнять какую-либо работу пополучить его).

Что касается решения DB против текстового файла, текстовый файл, как правило, будет быстрее.Тем не менее, я бы сделал выбор, основываясь больше на том, как / когда вы можете изменить подсказки.Если вам удобно нажимать новую версию приложения всякий раз, когда вы меняете подсказку, плоский файл является разумным (и простым) выбором.Если вы хотите иметь возможность динамически изменять всплывающие подсказки (что кажется маловероятным), база данных, вероятно, является лучшим выбором.В любом случае, выбор, при котором вы выбираете, когда загружать всплывающие подсказки и сколько из них, вероятно, затмит разницу между базой данных и простым файлом.

0 голосов
/ 27 июля 2011

Я бы сказал, что база данных SQL с кэшированием - ваш лучший выбор: Увидеть что-то вроде этого http://www.troywolf.com/articles/php/class_db/

0 голосов
/ 27 июля 2011

БД будет быстрее, чем отдельные файлы, потому что она будет кешировать результаты.Либо использовать БД, либо использовать один файл.

0 голосов
/ 27 июля 2011

По производительности, текстовый файл, вероятно, будет быстрее; так как вы не понесете лишних затрат, когда страница на стороне сервера попадет в базу данных и вернет данные клиенту. Текстовый файл может быть просто прочитан напрямую с небольшими накладными расходами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...