powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Оптимизатор неправильно определяет Estimated Rows
2 сообщений из 2, страница 1 из 1
Оптимизатор неправильно определяет Estimated Rows
    #39959656
BrandBrand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Есть запрос типа:

select *
from table t
where t.date > sysdate - 120
and t.status in ('5', '8');

На самом деле, исходный запрос сложнее, конечно, с джойнами по другим таблицам, это я упрощал при разборе.
Так вот, для запроса строит примерно вот такой вот план:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
---------------------------------------------------------------------------------------------------------------------------------------------------------------
| Id  | Operation                             | Name      | E-Rows  | Bytes | Cost (%CPU)  | Time     |  Pstart  |  Pstop  |  TQ     |  IN-OUT  | PQ Distrib  |
---------------------------------------------------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                      |           |     1   |   83  |  290 K   (1) | 00:00:12 |          |         |         |          |             |
|   1 |    PX COORDINATOR                     |           |         |       |              |          |          |         |         |          |             |
|   2 |      PX SEND QC (RANDOM)              | :TQ10000  |     1   |   83  |  290 K   (1) | 00:00:12 |          |         |  Q1, 00 |  P -> Q  | QC (RAND)   |
|   3 |          PX BLOCK ITERATOR            |           |     1   |   83  |  290 K   (1) | 00:00:12 |          |         |  Q1, 00 |  PCWC    |             |
|*  4 |            TABLE ACCESS STORAGE FULL  | TABLE     |     1   |   83  |  290 K   (1) | 00:00:12 |  KEY     |  KEY    |  Q1, 00 |  PCWP    |             |
---------------------------------------------------------------------------------------------------------------------------------------------------------------

Количество оцениваемых строк выводится неправильно. На тестовой базе, свежей копии (чуть больше недели) план запроса такой же, но E-Rows выводит корректно. Если закомментировать одно из условий в запросе, то тоже начинает выводить адекватные значения.

Не подскажете, в чем может быть проблема? Куда копать?
Oracle 12.2, Exadata, таблица с партициями и субпартициями, статистика по таблице свежая и собрана на всех уровнях (это первое, что я посмотрел).
...
Рейтинг: 0 / 0
Оптимизатор неправильно определяет Estimated Rows
    #39959729
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
BrandBrand,

Беспредметный разговор без трассы 10053 и плана со статистиками.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Оптимизатор неправильно определяет Estimated Rows
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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