|
|
|
| Здравствуйте Вам!!!
Вопрос такой:
Что лучше использовать
такой запрос:
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
|
эти запросы работают одинаково... Так ли это?
Какой из них требует больше памяти? Как это проверить?
Какой предпочтительнее использовать? Почему?
Спасибо! :)) | |
|
|
|
|
|
|
|
для: afdm
(24.10.2007 в 18:28)
| | Скорее всего разница в скорости и потребляемых ресурсах минимальна - я бы отдал предпочтение первому запросу, так как он более изящно выглядит, только заменил бы конструкцию
на
| |
|
|
|
|
|
|
|
для: cheops
(25.10.2007 в 11:36)
| | Спасибо!!! :)))
Просто интересно было узнать Ваше мнение...:)))))))) | |
|
|
|
|
|
|
|
для: cheops
(25.10.2007 в 11:36)
| | а почему заменили бы IN на =?
спасибо! | |
|
|
|
|
|
|
|
для: afdm
(25.10.2007 в 12:26)
| | IN обычно применяется для списков, если значение одно, обычно применяется знак равенства - обрабатывается такая конструкция быстрее и воспринимается разработчиком проще, чем IN. | |
|
|
|
|
|
|
|
для: cheops
(25.10.2007 в 16:10)
| | спасибо!!! буду знать :))) | |
|
|
|