|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.03.2012, 19:02 | #1 |
Пользователь
Регистрация: 02.01.2012
Сообщений: 25
|
Сравнение дат и выборка
Здравствуйте.
Есть таблица подобного вида: table id | theme_id | comment | usr_id | a_date Необходимо вытащить theme_id, у которых a_date не старше 20 минут от нынешнего времени (NOW()). Реализую так: select theme_id from table where a_date>SUBDATE(NOW(),INTERVAL 20 MINUTE) GROUP BY theme_id ORDER BY a_date DESC; Вопрос: Поможет ли мне сортировка по дате не выбирать и не сравнивать все записи, а только до той, что будет входить в интервал или, даже дойдя до крайней необходимой записи и, зная, что дальше даты будут еще старше (сортировка), будет продолжено сравнение даты в таблице с нынешней? Это важно, потому что записей в таблице будет достаточно много, и не хотелось бы нагружать бессмысленной проверкой. Ну и вообще, стоит ли заниматься сравнением в самой базе или лучше реализовывать сравнение, пользуясь средствами php. |
11.03.2012, 20:10 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
ORDER BY, если правильно понял, не способствует опимизация запроса, и времени на выполнение потребуется больше, чем без ORDER BY. Наличие в таблице индекса по полю a_date существенно ускорит выборку
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
11.03.2012, 20:48 | #3 |
Пользователь
Регистрация: 02.01.2012
Сообщений: 25
|
Т.е. порядок такой: сначала выборка по условию, затем группировка и потом уже сортировка? Я правильно понимаю?
|
11.03.2012, 21:01 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Однозначно не могу утвержать, что оптимизация во всех СУБД не учитывает ORDER BY. Возможно продвинутые оптимизаторы и учитывают при определенных условиях. Из опыта на MSSQL - с ORDER BY на больших выборках запрос медленней отрабатывает
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
11.03.2012, 21:41 | #5 |
Пользователь
Регистрация: 02.01.2012
Сообщений: 25
|
Аватар, спасибо за информацию
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
выборка из таблицы по диапазону дат | strannick | Microsoft Office Excel | 4 | 12.12.2011 17:18 |
Сравнение дат! | RSmile | БД в Delphi | 0 | 28.04.2010 20:40 |
C#: Сравнение дат | Veiron | Общие вопросы .NET | 1 | 08.06.2009 23:32 |
Сравнение дат | for_regist1 | БД в Delphi | 21 | 26.01.2009 01:29 |
сравнение дат | Geddar | Общие вопросы Delphi | 2 | 04.06.2008 19:09 |