SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 17.10.2012 22:25:23

nekulin
Завсегдатай
Зарегистрирован: 06.04.2012
Сообщений: 56

Как лучше посчитать количество записей COUNT() OR VIEW

Всем привет!
Как быстрее посчитать количество записей по условию ? да count(*) работает быстро, но если посмотреть через eчplain Она пробегается по 45 000 записей  по моему примеру чтоб сказать сколько записей соотвествуют условию, это плохо.

Запрос такого вида

SELECT COUNT(*) FROM tovar WHERE categories_id IN (и тут  ~1800 категорий)


есть индекс по categories_id и отсуюда 45 000 записей а не все записи. Как вы догадались это нужно для пагинатора.

Вопрос: "Мб не стоит каждый раз делать пересчет а забирать откуда нибудь ?"

1) Можно хранить где нибудь в памяти и отдута считать и потом выводиться записи по limit and offset

2) Или же можно создать представление и отуда считать сколько записей по этой категории, славу богу я могу посмотреть через индефикатор родительской категории. В моем примере категории 1 принадлежат ~1800 подкатегорий в виде дерева.
И индефакотором будет категория номер 1 где 45 000 записей

Вопрос: "При обращение к представлению будут каждый раз снова считаться данные ? или только при каких либо действиях с данными ? "

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson