Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
23.12.2019, 11:25
|
|||
---|---|---|---|
План выполнения не учитывает UNIQUE CONSTRAINT. |
|||
#18+
Проверялось для версии PostgreSQL 10.10. В таблице t по паре колонок (id, itemnumber) определил UNIQUE CONSTRAINT. Выполняю select * from t where t.Id = $1 and t.ItemNumber = $2; План выполнения показывает, что будет выбрано 6 записей. После ANALYZE VERBOSE t; На среде для разработки, где в таблице небольшое количество записей, просканировались все страницы таблицы и повторно построенный план выполнения дал ожидаемый результат: rows=1 На тестовой среде просканировались около 20% страниц таблицы и повторно построенный план выполнения дал оценку: rows=5 То есть оптимизатор никак не учитывает наличие UNIQUE CONSTRAINT на таблице. Но всё равно непонятно откуда взялась оценка в 5/6 записей. Гуру, подскажите ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.12.2019, 11:39
|
|||
---|---|---|---|
|
|||
План выполнения не учитывает UNIQUE CONSTRAINT. |
|||
#18+
Kr_Yury Проверялось для версии PostgreSQL 10.10. В таблице t по паре колонок (id, itemnumber) определил UNIQUE CONSTRAINT. Выполняю select * from t where t.Id = $1 and t.ItemNumber = $2; План выполнения показывает, что будет выбрано 6 записей. После ANALYZE VERBOSE t; На среде для разработки, где в таблице небольшое количество записей, просканировались все страницы таблицы и повторно построенный план выполнения дал ожидаемый результат: rows=1 На тестовой среде просканировались около 20% страниц таблицы и повторно построенный план выполнения дал оценку: rows=5 То есть оптимизатор никак не учитывает наличие UNIQUE CONSTRAINT на таблице. Но всё равно непонятно откуда взялась оценка в 5/6 записей. Гуру, подскажите 1)никак не учитывает наличие UNIQUE CONSTRAINT на таблице. да не учитывает а учитывает только статистику... 2)Но всё равно непонятно откуда взялась оценка в 5/6 записей. Из гистограмм распределения по полям id и ItemNumber... точнее смотрите в pg_stats view особенно на поля most_common_vals и most_common_freqs и n_distinct ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&mobile=1&tid=1994882]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 276ms |
total: | 419ms |
0 / 0 |