Forum Webscript.Ru
Общие => Базы данных => Тема начата: Alexandr от 13 Июня 2002, 10:28:44
-
Что быстрее:
SELECT count(id) as id FROM firm WHERE firm_type=1;
SELECT count(id) as id FROM firm WHERE firm_type=2;
SELECT count(id) as id FROM firm WHERE firm_type=3;
Или
SELECT firm_type, count(*) as w FROM firm GROUP BY firm_type
если
firm_type индекс
-
По моему разумению второй вариант должен быть быстрее...
Тк селекту не надо генерить 3!!!! различные таблицы.
Но тут есть подводный камень.....сколько времени уйдет на сортировку одной большой таблицы. Я думаю что это вообще врядли кто знает. Для этого надо знать по какому методу GROUP BY сортирует....Так что смотри сам опытным путем.
-
ИМХО Второй запрос будет быстрее
-
Второй конечно.
-
Однако смотрим EXPLAIN.......
table type possible_keys key key_len ref rows Extra
1) firm ref firm_type firm_type 1 const 69 where used; Using index
2) firm ref firm_type firm_type 1 const 42 where used; Using index
3) firm ref firm_type firm_type 1 const 12 where used; Using index
ИЛИ
4) firm index firm_type 1 124 Using index
Следовательно, первые 3 запроса просматривают на 1 строку меньше, чем 4-й
-
Alexandr
Угу. А обработка запросов скриптом?