powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / План выполнения не учитывает UNIQUE CONSTRAINT.
2 сообщений из 2, страница 1 из 1
План выполнения не учитывает UNIQUE CONSTRAINT.
    #39906923
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 записей. Гуру, подскажите
...
Рейтинг: 0 / 0
План выполнения не учитывает UNIQUE CONSTRAINT.
    #39906933
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / План выполнения не учитывает UNIQUE CONSTRAINT.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]