|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Добрый день, Не подскажите как можно оптимизировать сортировку ORDER BY? В табличке примерно около 1 млн записей, индексы полей добавлены, без Order By приезжает примерно за 1,5 сек, но при добавлении сортировки время увеличивается до 8,5 сек, а это уже очень много Запрос должен быть универсальным для oracleSQL, postgreSQL и microsoft server sql select distinct TOP(24) id as col0, abstract.title as col1 from do.catalogs abstract where abstract.remove=0 and (abstract.caseid in ('class')) order by abstract.title asc, abstract.id asc Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2021, 06:47 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Код: plaintext 1.
Ну, и сортировка 1млн записей - это что-то противоестественное. Если речь не идёт о массовых загрузках данных ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2021, 09:17 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Вадиман, Тогда может подскажите по этому поводу: есть индекс по abstract.caseid , если , как в моем примере, в селекте стоит условие abstract.caseid in ('class') , и если в таблице есть валидные записи для этого условия то селект приезжает за секунды, но если в таблице нет валидных записей по условию abstract.caseid in ('class'), то начинается full scan и запрос едет очень долго, как то можно этого избежать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2021, 10:42 |
|
|
start [/forum/topic.php?fid=52&msg=40055735&tid=1880354]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
132ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 272ms |
total: | 502ms |
0 / 0 |