|
|
|
| Всем HI.
Возможно ли оптимизировать данный запрос.
пример:
SELECT * FROM table WHERE
id_catalog = 2 OR id_catalog = 3 OR id_catalog = 4 OR id_catalog = 8 OR id_catalog = 11 OR id_catalog = 44 OR id_catalog =45 OR id_catalog = 6 OR id_catalog = 12 OR id_catalog = 22 ORDER BY description
все что между WHERE и ORDER BY создается динамически
Заранее очнь благодарю!!! | |
|
|
|
|
|
|
|
для: tauruz
(14.12.2006 в 20:57)
| | обычно это записывают так:
SELECT * FROM table
WHERE id_catalog IN(2,3,4,8,11,44,45,6,12,22)
ORDER BY description
|
| |
|
|
|
|
|
|
|
для: Trianon
(14.12.2006 в 21:05)
| | Спасибо!
Да согласен это упрощает код, но повышает ли данная запись производительность? | |
|
|
|
|
|
|
|
для: tauruz
(14.12.2006 в 21:08)
| | Нет. А что вас не устраивает с производительностью первого запроса? | |
|
|
|
|
|
|
|
для: Shiva
(14.12.2006 в 22:31)
| | меня не устраивает то, что я не уверен что этот запрос даст наилутьшую производительностью в данном случае.
Потому что другого способа решения этой задачи я не знаю .
Поэтому и обратился за помощью. | |
|
|
|
|
|
|
|
для: tauruz
(15.12.2006 в 00:19)
| | Источник всех зол - преждевременная оптимизация. | |
|
|
|
|
|
|
|
для: tauruz
(14.12.2006 в 21:08)
| | >Да согласен это упрощает код, но повышает ли данная запись производительность?
Даже если производительность повышается или уменьшается, вряд ли настолько сильно, что можно заметить не вооружённым взглядом. Такие структурные преобразования вообще, как правило, не влияют на производительность СУБД. Для увеличения производительности используется нормализация, денормализация, индексирование, сжатие данных (т.е. создание дополнительных таблиц с обработанными данными, например, суточные, месячные, годовые отчёты). | |
|
|
|
|
|
|
|
для: cheops
(15.12.2006 в 13:44)
| | как правило это называется либо индексация, либо кэширование | |
|
|
|