|
вариации запроса
|
|||
---|---|---|---|
#18+
А вот тоже поинтересуюсь .. (а то гложет меня сомнение) Скажем есть такой запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
То есть имеем подзапрос в IN() который легко разворачивается в JOIN и соответственно, всё оптимизатором предварительно преобразуется примрно к этому: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
И по сути, оптимизировать такой запрос по скорости - только играться с перестановкой условий с учетом наличных индексов, в т.ч. составных (они там есть в достатке, подойдет много разных вариантов) Или я это не верно представляю себе? Сервер Перкона последняя, движок соответственно xtraDB Ну и ещё: выходной поле t1.f1 - в запросе фигуряет с условием константного типа .. можно же гарантировано вместо него выдавать эту константу .. ну или вообще опустит для экономии трафика .. :) --------- Историки часто находят артефакты древней высокоразвитой Цивилизации со странными буквами - СССР ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2020, 23:34 |
|
вариации запроса
|
|||
---|---|---|---|
#18+
Arhat109 подзапрос в IN() который легко разворачивается в JOIN А вот материализовать точно умеет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2020, 16:08 |
|
вариации запроса
|
|||
---|---|---|---|
#18+
miksoft, Ну вот сидит в башке, где-то читал что планировщик запроса сначала его преобразует к базовому соединению, перемещая все условия в джойнах в часть "где,куда(почем)" .. в данном случае в IN() конкретно запрос, не зависящий от охватывающей части. А вот может ли мускуль преобразовать IN() .. помнится 2011-12 ещё нет, но с тех пор, насколько помню над этим плотно работали, и несколько раз писалось за "улучшения" .. вот и интересно, "до чего уже техника дошла"? :) P.S. Explain на первый выдает 3 таблицы уровня ref и eq_ref, и никакой "промежуточной" не создает. Индексы пользует так, как будто бы он развернул IN() .. вот, поэтому и гложет сомнение .. уточнить бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2020, 20:49 |
|
вариации запроса
|
|||
---|---|---|---|
#18+
Просто получается, если он так обучился уже, то смысл создавать хитрозакрученные запросы с целью надурить планировщик - уже больше просто нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2020, 20:53 |
|
вариации запроса
|
|||
---|---|---|---|
#18+
Arhat109 Ну вот сидит в башке, где-то читал что планировщик запроса сначала его преобразует к базовому соединению, перемещая все условия в джойнах в часть "где,куда(почем)" .. в данном случае в IN() конкретно запрос, не зависящий от охватывающей части. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2020, 21:27 |
|
вариации запроса
|
|||
---|---|---|---|
#18+
Arhat109 смысл создавать хитрозакрученные запросы с целью надурить планировщик - уже больше просто нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2020, 21:28 |
|
|
start [/forum/topic.php?fid=47&fpage=14&tid=1828281]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
217ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 334ms |
0 / 0 |