2016-04-16 4 views
0

Кто-нибудь, пожалуйста, скажите мне. Если я создаю несколько простых пейджера с фильтром у меня есть два запроса ...пейджер с фильтром - два вопроса

1:

Select id 
FROM blablabla 
WHERE d="example_filter" 

и в PHP просто называют ROWCOUNT(), и там я заберу Количество строк для возвращаться д мой пейджер

2 Мой полный выбор со многими выбранных элементов, как:

Select id,page,title,another_elem FROM blablabla WHERE d="example_filter" LIMIT 10,20 

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

+0

(HTTP: //stackoverflow.com/questions/5060366/mysql-fastest-way-to-count-number-of-rows) – ash

+0

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

ответ

0

Вы можете использовать функцию SQL COUNT для первого запроса:

SELECT COUNT(*) FROM blablabla WHERE d="example_filter" 

С этим вы сможете получить число строки, соответствующие вашему фильтру, без необходимости загружать их все. Как можно увидеть здесь, он будет работать даже с несколькими таблицами: [? Возможный дубликат этого вопроса] http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_count

0

Но мой фильтр также извлекает данные из других таблиц, например, для сравнения Detail in real code))))

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