|
Что такое PLAN?
|
|||
---|---|---|---|
#18+
Есть база 1-2Gb, это где-то 1-2 млн. записей. Необходимо делать различные выборки по текстовым полям (только выборки, никаких изменений не вносится). Индексы по этим полям есть и главным образом выполняются запросы типа: select * from table where field>'string' order by field rows n по непонятным причинам некоторые из таких запросов выполняются быстро, а некоторые сильно тормозят ... нашёл в хелпе какой-то plan, но не понял зачем он нужен ... может ли он мне как-нибудь помочь ускорить процесс и как вообще в данной ситуации можно повысить производительность с учётом что база может ещё раза в 2 вырасти? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2003, 09:16 |
|
Что такое PLAN?
|
|||
---|---|---|---|
#18+
Может, а может и замедлить. Этой инструкцией ты можешь принудительно составить план исполнения запроса... Но можно сказать что оптимизатор генерирует хороший план запроса и перепрыгнуть его врятли удасться... я бы посоветовал косвенно влиять на план исполнения ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2003, 09:42 |
|
Что такое PLAN?
|
|||
---|---|---|---|
#18+
Косвенно это как, порядком условий в where и порядком сортировки в order? Ещё такой вариант: две таблицы "один ко многим" надо сделать выборку типа select p.*, s.* from primary p, secondary s where (s.id=p.sid and s.text>'string') order by s.text rows 10 ... так можно или лучше как-то по-другому сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2003, 09:54 |
|
Что такое PLAN?
|
|||
---|---|---|---|
#18+
лучше объеденить через join (проверял лично и работало быстрее) select p.*, s.* from primary p join secondary s on (s.id=p.sid) Остальные условия как положено а влиять косвено, я имел ввиду, например по какой-то причине известно что запрос будет быстрее работать, если планировщик не будет учитывать индекс по полю Field1 тогда в секции where пишется например следующая инструкция Field1-0 = :x ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2003, 10:20 |
|
|
start [/forum/topic.php?fid=40&fpage=528&tid=1580885]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 311ms |
total: | 443ms |
0 / 0 |