Re[12]: Проектирование суммирущих таблиц, оптимизация
От: Лобанов Игорь  
Дата: 28.05.09 16:42
Оценка:
Здравствуйте, KRA, Вы писали:

KRA>Здравствуйте, KRA, Вы писали:


KRA>>Так и одним запросом можно без group by

KRA>>
KRA>> select h.brand_id, count_ from prt_search_helper h where
KRA>> h.brand_id is not null and
KRA>> h.model_id is null and
KRA>> h.category_id is null and 
KRA>> h.seller_id is null
KRA>>


Поскольку это вопрос моего коллеги, я тоже немного поучаствую

Запрос в таком виде делать нельзя, поскольку он поставит prt_search_helper на фулскан, значения NULL в индексах не хранятся. Но это можно обойти, заменив NULL на какое-нибудь магическое число вроде -1.

Вторая трудность: обойтись расчётом суммирующих записей только для первого уровня выборки не получится, в таблице слишком много записей, чтобы делать фильтрацию даже по двум-трём критериям по "сырым" данным -- не хватает селективности соответствующих составных индексов. Следовательно нужно насчитать суммирующие записи для серьёзного количества комбинаций. Есть какие-то способы этого избежать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.