Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Администрирование Oracle Database:
- Установка и настройка базы данных
- Обновление, применение патчей
- Оптимизация, настройка производительности
- Обучение, подготовка персонала, оптимизация

ТЕМА:

Re: Oracle: Вопрос с индексом 12 года 8 мес. назад #3145

  • Todd
  • Todd аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Спасибо получено: 0
так, что то не пойму
SQL> exec DBMS_STATS.GATHER_SCHEMA_STATS ('TWLD');
Elapsed: 00:00:03.41
SQL> set autotrace traceonly;
SQL>  select * from big where  status = 'INVALID';

Elapsed: 00:00:03.56

Execution Plan
----------------------------------------------------------
Plan hash value: 3907642201

--------------------------------------------------------------------------
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |   708K|    62M|  5434   (1)| 00:01:06 |
|*  1 |  TABLE ACCESS FULL| BIG  |   708K|    62M|  5434   (1)| 00:01:06 |
--------------------------------------------------------------------------

SQL> select /*+ INDEX (big ind_stat) */  * from big where  status = 'INVALID';

Elapsed: 00:00:00.01

Execution Plan
----------------------------------------------------------
Plan hash value: 2773069388

--------------------------------------------------------------------------------

--------

| Id  | Operation                   | Name     | Rows  | Bytes | Cost (%CPU)| Ti

me     |

--------------------------------------------------------------------------------

--------

|   0 | SELECT STATEMENT            |          |   708K|    62M| 11574   (1)| 00

:02:19 |

|   1 |  TABLE ACCESS BY INDEX ROWID| BIG      |   708K|    62M| 11574   (1)| 00

:02:19 |

|*  2 |   INDEX RANGE SCAN          | IND_STAT |   708K|       |  1687   (1)| 00

:00:21 |

--------------------------------------------------------------------------------

после сбора статистики не хочет индекс использоваться

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: Вопрос с индексом 12 года 8 мес. назад #3146

select * ...
это вся таблица, зачем ему индекс то ?
все правильно запрос делает...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: Вопрос с индексом 12 года 8 мес. назад #3147

  • Todd
  • Todd аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Спасибо получено: 0
Причем что интересно после
ANALYZE TABLE BIG
            ESTIMATE STATISTICS

индекс используется, а после
exec DBMS_STATS.GATHER_TABLE_STATS('TWLD','BIG')

нет

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: Вопрос с индексом 12 года 8 мес. назад #3148

Попробуйте так:
exec DBMS_STATS.GATHER_TABLE_STATS(ownname => 'TWLD', tabname => 'BIG', cascade => true)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: Вопрос с индексом 12 года 8 мес. назад #3149

select * ...
это вся таблица, зачем ему индекс то ?


По статистике, инвалидов (status = 'INVALID') ...% населения. Без статистики - на каждом углу.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: Вопрос с индексом 12 года 8 мес. назад #3150

  • Todd
  • Todd аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Спасибо получено: 0
Gleb, не помогло
SQL> exec DBMS_STATS.GATHER_TABLE_STATS(ownname => 'TWLD', tabname => 'BIG', cas
cade => true);

PL/SQL procedure successfully completed.

Elapsed: 00:00:14.73
SQL> select * from big where  status = 'INVALID';

Elapsed: 00:00:03.86

Execution Plan
----------------------------------------------------------
Plan hash value: 3907642201

--------------------------------------------------------------------------
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |   708K|    62M|  5434   (1)| 00:01:06 |
|*  1 |  TABLE ACCESS FULL| BIG  |   708K|    62M|  5434   (1)| 00:01:06 |
--------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter("STATUS"='INVALID')

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.225 секунд