Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Оптимизация WHERE OR
 
 автор: tauruz   (14.12.2006 в 20:57)   письмо автору
 
 

Всем 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 создается динамически

Заранее очнь благодарю!!!

   
 
 автор: Trianon   (14.12.2006 в 21:05)   письмо автору
 
   для: 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

   
 
 автор: tauruz   (14.12.2006 в 21:08)   письмо автору
 
   для: Trianon   (14.12.2006 в 21:05)
 

Спасибо!

Да согласен это упрощает код, но повышает ли данная запись производительность?

   
 
 автор: Shiva   (14.12.2006 в 22:31)   письмо автору
 
   для: tauruz   (14.12.2006 в 21:08)
 

Нет. А что вас не устраивает с производительностью первого запроса?

   
 
 автор: tauruz   (15.12.2006 в 00:19)   письмо автору
 
   для: Shiva   (14.12.2006 в 22:31)
 

меня не устраивает то, что я не уверен что этот запрос даст наилутьшую производительностью в данном случае.

Потому что другого способа решения этой задачи я не знаю .

Поэтому и обратился за помощью.

   
 
 автор: Loki   (15.12.2006 в 10:07)   письмо автору
 
   для: tauruz   (15.12.2006 в 00:19)
 

Источник всех зол - преждевременная оптимизация.

   
 
 автор: cheops   (15.12.2006 в 13:44)   письмо автору
 
   для: tauruz   (14.12.2006 в 21:08)
 

>Да согласен это упрощает код, но повышает ли данная запись производительность?
Даже если производительность повышается или уменьшается, вряд ли настолько сильно, что можно заметить не вооружённым взглядом. Такие структурные преобразования вообще, как правило, не влияют на производительность СУБД. Для увеличения производительности используется нормализация, денормализация, индексирование, сжатие данных (т.е. создание дополнительных таблиц с обработанными данными, например, суточные, месячные, годовые отчёты).

   
 
 автор: dagmor   (15.12.2006 в 14:08)   письмо автору
 
   для: cheops   (15.12.2006 в 13:44)
 

как правило это называется либо индексация, либо кэширование

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования