Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Снова разные планы  [new]
Максим Н
Member

Откуда: Екатеринодар
Сообщений: 1439
SELECT COUNT(1) cnt, id_group, id_term
  FROM mail
 WHERE date_rec > trunc(sysdate)
 GROUP BY id_group, id_term;


на тестовом серваке:

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
PL/SQL Release 10.2.0.5.0 - Production
"CORE	10.2.0.5.0	Production"
TNS for 64-bit Windows: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production

-------------------------------------------------------------------------------------------------------
| Id  | Operation                    | Name                   | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |                        |    70 |   980 |     4  (25)| 00:00:01 |
|   1 |  HASH GROUP BY               |                        |    70 |   980 |     4  (25)| 00:00:01 |
|   2 |   TABLE ACCESS BY INDEX ROWID| MAIL                   |    70 |   980 |     3   (0)| 00:00:01 |
|*  3 |    INDEX RANGE SCAN          | I_MAIL_DATEREC         |    72 |       |     2   (0)| 00:00:01 |
-------------------------------------------------------------------------------------------------------


на боевом:

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
PL/SQL Release 10.2.0.5.0 - Production
"CORE	10.2.0.5.0	Production"
TNS for 64-bit Windows: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production

-------------------------------------------------------------------------------------------------------
| Id  | Operation                    | Name                   | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |                        |   220 |  3080 |   725   (1)| 00:00:09 |
|   1 |  HASH GROUP BY               |                        |   220 |  3080 |   725   (1)| 00:00:09 |
|   2 |   TABLE ACCESS BY INDEX ROWID| MAIL                   | 62757 |   858K|   722   (1)| 00:00:09 |
|*  3 |    INDEX RANGE SCAN          | I_MAIL_DATEREC         | 62757 |       |    41   (0)| 00:00:01 |
-------------------------------------------------------------------------------------------------------


I_MAIL_DATEREC простой (не FBI) индекс по дате.

Количество записей примерно одинаковое >16 млн (почему "примерно", потомучто на продакшене даже count(1) по таблице не отрабатывает, висит долго, поэтому делал с sample(10))

Таблицы один в один одинаковые, копия с продакшена снималась несколько дней назад.
Статистика для обоих собиралась ночью.

В чем может быть причина такой разницы?
30 янв 13, 14:05    [13850660]     Ответить | Цитировать Сообщить модератору
 Re: Снова разные планы  [new]
zhal
Member

Откуда: Киев-Харьков
Сообщений: 647
А где планы-то разные?
Надо полагать, что для date_rec > trunc(sysdate) реально разное кол-во записей на продуктиве и тесте?
30 янв 13, 14:15    [13850742]     Ответить | Цитировать Сообщить модератору
 Re: Снова разные планы  [new]
user1251
Guest
Планы как получали?

Статистику надо смотреть, например, DBMS_XPLAN.DISPLAY_CURSOR + /*+ gather_plan_statistics */
30 янв 13, 14:48    [13851089]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить