Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Зависит ли выбор плана от статистики по выполненным запросам?
|
|||
|---|---|---|---|
|
#18+
имхо, тему можно закрывать. нашел обсуждение, из которого все понятно. выбор плана не зависит от статистики по выполненным запосам. http://archives.postgresql.org/pgsql-hackers/2008-04/msg01503.php MBGСчитаете, что параметр effective_cache_size это обман и на самом деле планировщик не использует эту информацию?effective_cache_size - это константа, она не зависит от объекта (таблицы). планировщик использует это значение. MBGА также информацию о стоимости ввода/вывода для диска и ОЗУ...планировщик использует константы *_cost, которые DBA должен усредненно (для всех обектов) вычислить и занести в конфиг. MBGПо документации, shared_biffers к планировщику отношения не имеет, но то, что я поднимаю таблицу с помощью dd в кэш ОС помогает не везде и не всегда и по симптомам похоже на то, что все-таки оценивается наличие данных в shared_biffers и при планировании запроса предусматривается выборка в первую очередь из него.доктора тоже ошибаются, не могу принять аргумент "по симптомам похоже на то", только тест или ссылку. MBGпланировщик должен знать, какие данные откуда взятьпланировщик лишь выбирает план. а данные бререт другой товарищ (executor). MBGКак в этом ракурсе вы оцениваете заявление о независимости планировщика от shared_biffers? Явно зависит, а кот как именно реализован алгоритм, можно найти только в коде.планировщик не обращет внимания на shared_buffers. он руководствуется лишь константами "18.6. Query Planning", и статистикой по объектам из pg_*. в данной статистике отсутствует информация о нахождении данных в кэше памяти. MBGПопробуйте потестировать попробовал , теперь вы попробуйте получить, подтверждающий ваше предположение, тест ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2008, 15:32 |
|
||
|
Зависит ли выбор плана от статистики по выполненным запросам?
|
|||
|---|---|---|---|
|
#18+
Выше было приведено два теста, один из них мой. Мало? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 12:23 |
|
||
|
Зависит ли выбор плана от статистики по выполненным запросам?
|
|||
|---|---|---|---|
|
#18+
MBGВыше было приведено два теста, один из них мой. Мало?нужен тест, который, в отличие от этих двух, можно было бы воспроизвести. "Please see if you can extract a more self-contained test case." http://archives.postgresql.org/pgsql-hackers/2008-01/msg00150.php ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 13:02 |
|
||
|
Зависит ли выбор плана от статистики по выполненным запросам?
|
|||
|---|---|---|---|
|
#18+
Рекомендую почитать http://www.postgresql.org/docs/8.1/static/geqo-intro2.html Мутация в постгресе не используется, тем не менее генетический алгоритм является стохастическим и может возвращать разные значения при разных запусках даже при одних и тех же значениях параметров. Для простых запросов применяется классический алгоритм, который является детерминированным, но для большого количества таблиц не может быть использован в силу невозможности полного перебора вариантов выполнения запроса. А после включения генетического алгоритма план выполнения выбирается как наиболее подходящий из случайно выбранного подмножества всех возможных планов. Вот и объясните мне, как вы при случайно выбранном плане запроса сумели сказать, что он не зависит от чего-либо? Имхо, ответ можно найти только в коде. Если изменение плана запроса обусловлено устройством планировщика, то с точки зрения разработчиков это не баг, а фича. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 16:40 |
|
||
|
Зависит ли выбор плана от статистики по выполненным запросам?
|
|||
|---|---|---|---|
|
#18+
Каждый из алгоритмов построения плана (классический и генетический) использует одинаковые входные данные. Поэтому в процессе работы также и генетического алгоритма информация о наличии объектов в кэше памяти не используется. MBGВот и объясните мне, как вы при случайно выбранном плане запроса сумели сказать, что он не зависит от чего-либо?Почему вы уверены, что случайный выбор плана запроса в этих двух тестах обусловлен именно тем, что планировщик использует статистику по выполненным запросам? Хотя сами пишете о стохастичности geqo. MBGИмхо, ответ можно найти только в коде.Нет, достаточно прочитать обсуждение http://archives.postgresql.org/pgsql-hackers/2008-04/msg01503.php ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 17:55 |
|
||
|
Зависит ли выбор плана от статистики по выполненным запросам?
|
|||
|---|---|---|---|
|
#18+
LeXa NalBatПочему вы уверены, что случайный выбор плана запроса в этих двух тестах обусловлен именно тем, что планировщик использует статистику по выполненным запросам? Хотя сами пишете о стохастичности geqo. Я видел только два возможных плана выполнения для вышеприведенного запроса. Было бы этих планов десяток - другое дело. Хотя я запускал запрос всего лишь пару десятков раз и не могу сказать, что других планов не появится, может быть, просто вероятность появления иных вариантов на порядок ниже. Более того, была у меня нехорошая мысль, что на представленном запросе происходит сбой при выборе планировщика и два разных плана созданы разными планировщиками. В таком случае логично предположить, что выбор планировщика определяется результатами предыдущих запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 19:36 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=35460115&tid=2004171]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 371ms |

| 0 / 0 |
