2015-03-24 1 views
0

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

Мне было интересно, следует ли мне забрать все записи сразу для списка, а затем использовать настройку типа фильтра, чтобы он показывал только элементы, начинающиеся с A или верхние рейтинговые элементы, а затем можно нажать b, и он отобразит все элементы, начиная с с ab как вариант 1. Вариант 2 будет получать новые данные из базы данных по запросу. Поэтому по умолчанию элементы, начинающиеся с A, будут отображаться тогда, когда кнопка link/button для элементов b будет нажата, она будет подключаться к базе данных и извлекать эти элементы.

Мысли и варианты, пожалуйста!

PS Я работаю с bootstrap/php/mysql/jquery/javascript.

+0

Это звучит как пустая трата памяти и пропускной способности для передачи большого набора данных из базы данных в приложение, только затем для ее фильтрации. Лучше попросить базу данных предоставить приложение только подмножество, в котором оно заинтересовано в это время, и затем запросить некоторое другое подмножество, если это потребуется впоследствии. Наверное, это то, что вы подразумеваете под «Вариантом 2»? Как вы должны делить данные на подмножества, и какое подмножество, которое вы должны показывать в первом экземпляре, являются функциональными аспектами вашего проекта приложения, которые не являются ни по теме для переполнения стека, ни невозможны для принятия решения из приведенной информации. – eggyal

+0

@eggyal спасибо за ваш ответ, я не буду вытаскивать все данные сразу. Что касается фильтра, то это был более отзывчивый фильтр типа начальной загрузки. – g282154

ответ

0

Ну, не тяните все миллионы записей за каждый запрос.

См LIMIT и OFFSET http://dev.mysql.com/doc/refman/5.0/en/select.html

Вы, вероятно, следует использовать ОРМ или библиотеку, которая помогает вам с пагинацией

Убедитесь, что вы понимаете SQL параметризацию (для безопасности)

Я считаю, что списки, как каталоги лучше всего обслуживать с серверов поиска (например, Solr) по базам данных, esp, если вы хотите, чтобы грани поиска. Однако MySQL имеет текстовый поиск.

+0

спасибо, я посмотрел на Солра, но в то время я просто не был тем, кого искал. Что касается разбиения на страницы, я знаю, что есть цель использовать его, но мне нравится, что внешний вид продолжает прокручиваться до нескольких данных. Спасибо, что ответили на вопрос. Спасибо, я ограничу свое стремление, но к определенному набору данных. – g282154

+0

Проверьте бесконечную прокрутку. После прокрутки вниз он сделает запрос ajax на сервер (получение следующей страницы из базы данных) и добавит новые результаты –

+0

@Nel McGuigan, еще раз спасибо за помощь. – g282154

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