Где можно узнать поподробнее о плане выполнения?

mwolf
Дата: 11.08.2004 13:54:56
После выполнения EXPLAIN вываливается табличка с планом выполнения запроса. Многих полей я не понимаю (например Merge Join или Hash Cond). Так же не совсем понятны параметры идущие с ними.
Где можно почитать поподробнее о плане выполнения? В документации как-то маловато: нашёл только Seq Scan и Index Scan. Или не там искал, или действительно больше ничего нет.
Хелп!!!
LeXa NalBat
Дата: 11.08.2004 14:32:24
В доке:
The SQL Language -> Performance Tips -> Using EXPLAIN
и
Internals -> Overview of PostgreSQL Internals -> Planner/Optimizer
mwolf
Дата: 11.08.2004 15:16:34
Первую ссылку видел
Вторую нет.
Но там тоже как-то маловато (это, наверно, после описания оптимизаторов Оракла и МС СКЛ ;-)).
Например, вот встретилось Мaterialize.
Так что, пока полного описания всех возможных полей нет :-( .
LeXa NalBat
Дата: 11.08.2004 15:52:57
Merge Join


Объеденить два упорядоченных массива

( "После описания оптимизаторов Оракла и МС СКЛ" наверное должно быть понятно, что это такое :)

Hash Cond


Из доки Using EXPLAIN: "Hash Cond: ("outer".unique2 = "inner".unique2)" ... "probing into the hash table for possible matches of t1.unique2 = t2.unique2"

Cond - condition

Мaterialize


Вроде бы это создание временного массива/таблицы

Так что, пока полного описания всех возможных полей нет :-( .


Даже не знаю, что посоветовать. Смотреть в сорцы? :( Это может помочь.
mwolf
Дата: 11.08.2004 16:04:57
Даже не знаю, что посоветовать. Смотреть в сорцы? :( Это может помочь.

"Уж послала, так послала" (С) М\ф "Падал прошлогодний снег"

Мдяя. Корявенько всё как-то в Постгрессе задокументировано. Или это всё-таки после Оракла и МС СКЛя? Вот вам и недостатки опен соурса, блин.
Ладно, спасибо LeXa NalBat за проявленное участие.
Люди, если ещё какую доку найдёте, кидайте пожалуста. Буду предельно рад.
LeXa NalBat
Дата: 11.08.2004 17:13:52
"Уж послала, так послала" (С) М\ф "Падал прошлогодний снег"


Меня туда посылали не раз, и ходил, и не зря.

Можете заглянуть в src/backend/optimizer/path/ и src/backend/optimizer/plan/. Вот, к примеру, комментарий из src/backend/optimizer/path/costsize.c:
/*
* cost_material
* Determines and returns the cost of materializing a relation, including
* the cost of reading the input data.
*
* If the total volume of data to materialize exceeds SortMem, we will need
* to write it to disk, so the cost is much higher in that case.
*/
Sad Spirit
Дата: 11.08.2004 18:49:41
вот слайды, где очень неплохо описывается работа оптимизатора и чтение вывода команды EXPLAIN: http://www.gtsm.com/oscon2003/toc.html
mwolf
Дата: 12.08.2004 12:19:25
To LeXa NalBat
Ковыряние сорцов дело весьма полезно, но ОЧЧЧЕНЬ долгое. Увы :-(

To Sad Spirit
Хороший линк, спасибо. Вот здесь нашёл описание всех строк выдаваемых оптимизатором. То что надо.