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

Форум MySQL

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

 

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

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

тема: выберите запрос
 
 автор: afdm   (24.10.2007 в 18:28)   письмо автору
 
 

Здравствуйте Вам!!!
Вопрос такой:
Что лучше использовать
такой запрос:

SELECT name,
                     DAYOFMONTH(date),
                     MONTH(date),
                     text
                FROM tbl
                WHERE (MONTH(date) IN (10) AND DAYOFMONTH(date) >= 2)
ORDER BY date

или такой?

SELECT name,
                     DATE_FORMAT(date,'%d') as date_dd,
                     DATE_FORMAT(date,'%m') as date_mm,
                     text
                FROM tbl
                WHERE DATE_FORMAT(date,'%m') IN (10) AND DATE_FORMAT(date,'%d') >= 2
                ORDER BY date

эти запросы работают одинаково... Так ли это?
Какой из них требует больше памяти? Как это проверить?
Какой предпочтительнее использовать? Почему?
Спасибо! :))

   
 
 автор: cheops   (25.10.2007 в 11:36)   письмо автору
 
   для: afdm   (24.10.2007 в 18:28)
 

Скорее всего разница в скорости и потребляемых ресурсах минимальна - я бы отдал предпочтение первому запросу, так как он более изящно выглядит, только заменил бы конструкцию
(MONTH(date) IN (10)

на
(MONTH(date) = 10

   
 
 автор: afdm   (25.10.2007 в 12:07)   письмо автору
 
   для: cheops   (25.10.2007 в 11:36)
 

Спасибо!!! :)))
Просто интересно было узнать Ваше мнение...:))))))))

   
 
 автор: afdm   (25.10.2007 в 12:26)   письмо автору
 
   для: cheops   (25.10.2007 в 11:36)
 

а почему заменили бы IN на =?
спасибо!

   
 
 автор: cheops   (25.10.2007 в 16:10)   письмо автору
 
   для: afdm   (25.10.2007 в 12:26)
 

IN обычно применяется для списков, если значение одно, обычно применяется знак равенства - обрабатывается такая конструкция быстрее и воспринимается разработчиком проще, чем IN.

   
 
 автор: afdm   (25.10.2007 в 17:56)   письмо автору
 
   для: cheops   (25.10.2007 в 16:10)
 

спасибо!!! буду знать :)))

   
Rambler's Top100
вверх

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