Разный план выполнения запроса.

Valadey
Дата: 03.10.2015 15:26:03
Здравствуйте.
Есть сервер 1 (11.2.0.2) OS OEL 5.6
Есть сервер 2 (11.2.0.4) OS AIX 6.1
По характеристикам схожи.

На сервере 1 есть база данных, которая была экспортом/импортом перенесена на сервер 2.
Запрос:

select cut_id, substr(kato,1,2) ab,substr(kato,1,4) abcd,
decode(substr(kato,10,1),'1',1,'3',1,2) SPTM_CODE,
position,
count(fc.id) count_flat, count(distinct hc.house_cut_id) count_house,
sum(fc.quantityofinhabitants) resident_number, sum(fc.quantityofhouseholds) household_number,
sum(fc.living_square) living_square, sum(fc.full_square) full_square,
sum(hc.living_square) living_squareHouse, sum(hc.full_square) full_squareHouse
from SSR_DB31.flat_cut fc, SSR_DB31.house_cut hc,
(select position,id_class from SSR_DB31.accomplishment where nvl(id_class_parent,0)=0) ac
where fc.house_cut_id=hc.house_cut_id and hc.house_situation_id<>570
and substr(hc.house_accomplishment,position,1)='1'
group by cut_id, substr(kato,1,2),substr(kato,1,4),position,
decode(substr(kato,10,1),'1',1,'3',1,2)

выполняется на:
сервере 1 = 1.1 час
сервере 2 = 4.2 час

Один и тот же запрос показывает разные планы на серверах.
Также при инсерте Сервер 2 расходует больше темпового пространства и IO данных у него тоже больше.
Как быть?
Valadey
Дата: 03.10.2015 15:26:23
Valadey,
ORA__SQL
Дата: 03.10.2015 22:07:16
Valadey,
INSERT /*+ append */ into
SELECT /*+ use_hash(fc, hc, ac) */ cut_id
Perl'ун
Дата: 04.10.2015 23:16:58
Может параметры инстансов различаются? Глянь например HASH_AREA_SIZE. Он устарел, так что по документации посмотри какие параметры для твоей версии актуальны.
Valadey
Дата: 05.10.2015 06:06:54
Perl'ун,

Параметры сравнил, вроде бы всё одинаково.
Вот к примеру с инсертом, такие же дела:
Valadey
Дата: 05.10.2015 08:10:55
Valadey,

Проблема решена сбором статистики. После чего планы на обоих серверах стали одинаковые.
:)
Valadey
Дата: 05.10.2015 08:33:56
Valadey,

Странно, в момент сбора статистики план стал похож как на 1 сервере, но после чего изменился обратно((((
mefman
Дата: 05.10.2015 09:30:07
Valadey
Valadey,

Странно, в момент сбора статистики план стал похож как на 1 сервере, но после чего изменился обратно((((

Говорят тебе, лапоть, базы РАЗНЫЕ.
Valadey
Дата: 05.10.2015 09:41:55
mefman,

то что они разные я и сам вижу, одна 11.2.0.2 другая 11.2.0.4
Сам ты лапоть.
Такие как ты лесом идите.
roadster
Дата: 05.10.2015 09:44:58
Valadey
в момент сбора статистики план стал похож как на 1 сервере, но после чего изменился обратно((((
где стал похож?
какой план?
ExplainPlan (который в девелопере смотришь) может отличаться от реального.
по чему статистику пересобирал? индексы перестраивал? всякие там бэйзлайны смотрел?