Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
explain и кол-во записей в результирующем множестве
|
|||
|---|---|---|---|
|
#18+
Доброго дня, коллеги. Вопрос по оценочному количеству записей в результирующем множестве при выполнении команды explain: Есть следующие таблицы: - таблица договоров (CONTRACT) в ней ~6.2 млн записей. - таблица подразделений (TMP_DEPS_ID), она не временная, а постоянная, в ней ~3200 записей. explain по связке этих таблиц показывает 6067061 записей, т.е. примерное кол-во записей в табл CONTRACT: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Реальное кол-во записей возвращаемых запросом - 3298016 Код: sql 1. 2. 3. 4. 5. При этом, если добавить дополнительное условие в where, то explain показывает правильное кол-во записей: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Перенос TMP_DEPS_ID в условие where результата не даёт: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Столбцы по которым выполняется связывание (CONTRACT.DEPARTMENT_ID и TMP_DEPS_ID.ID) проиндексированы. vacuum analyze выполнен. Это нормальное поведение, или есть какой-либо способ получить более близкое к реальности значение кол-ва строк в запросе в explain? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2018, 03:06 |
|
||
|
explain и кол-во записей в результирующем множестве
|
|||
|---|---|---|---|
|
#18+
sKot, это нормальное поведение, а чем вас не устраивает эта оценка (6М против 3М)? обычно такое небольшое расхождение к проблемным планам не приводит, гораздо хуже когда отличается хотя бы на порядок. немного поправить возможно получится (не факт), подняв stats target для contract.department_id, тем самым собирая больше статистики, но вот надо ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2018, 09:24 |
|
||
|
explain и кол-во записей в результирующем множестве
|
|||
|---|---|---|---|
|
#18+
Alexius, Спасибо, буду дальше смотреть что можно придумать. Я хотел использовать как примерный count(*) для отображения в пользовательском интерфейсе. Обычный count(*) выполняется ~8 сек, правда, на более сложном запросе. Это я для примера взял простой запрос, т.к. оценки по count'у абсолютно одинаковые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2018, 10:25 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=53&tid=1995680]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 304ms |
| total: | 436ms |

| 0 / 0 |
