Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
06.11.2013, 07:58
|
|||
---|---|---|---|
Использование IDKEY при выборке с сортировкой ORDER BY ID DESC |
|||
#18+
На неделе второй раз столкнулся с ситуацией, когда при выборке 10 строк таблицы с 2 млн. записей все перестает работать при сортировке по АйДи. Т.е. запрос типа SELECT myColor from myTable where MyDate between ? and ? отдает 10 результатов, к примеру (при наличии индекса на MyDate) 0.000 с. а вот SELECT TOP 1 myColor from myTable where MyDate between ? and ? ORDER BY ID DESC уходит в чтение IDKEY таблицы, и причем заигнорить этот индекс не получается. Минуты эта п..ла считает. В итоге применяю двойные(!) запросы вида (или вариации на ту же тему): SELECT MAX(ID) into :maxID from myTable where MyDate between ? and ? SELECT myColor from myTable where ID = :maxId Это работает приемлемо, но страшно меня нервирует. М.б. есть какие-то другие варианты отбить у каше охоту лезть в АйДиКей при наличии в запросе прекрасных возможностей сделать выборку по нормальным индексам? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2013, 08:03
|
|||
---|---|---|---|
Использование IDKEY при выборке с сортировкой ORDER BY ID DESC |
|||
#18+
используйте %NOTOPOPT в запроса from %NOTOPOPT myclass ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=39&mobile=1&tid=1557030]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 327ms |
total: | 490ms |
0 / 0 |