По-рано днес работех с разработчик по заявка, която имаше лоша производителност. Тази заявка беше голяма и сложна и първоначално изглеждаше като плашещо усилие да се разбере къде се крие проблемът с производителността. С Explain Plan понякога можем да използваме разходите, за да помогнем да стесним болната точка на производителността на голяма, сложна заявка.
Разглеждайки план за обяснение на тази заявка, можем да видим, че общата му цена е доста висока.
Когато разгледаме детайлите, можем да видим, че ПЪЛНОТО сканиране на таблицата (FTS) в таблицата DETAIL_RECORD има висока цена от 51018. Забележете как високата цена на FTS разпространява плана. Всички операции над този FTS имат висока цена поради високата цена на този достъп до единична маса. Достъпът до таблицата CIMS_POLICIES_TO_PROCESS има относително ниска цена, но операцията HASH JOIN получава високата си цена само поради високата цена за достъп до таблицата DETAIL_RECORD.
Общата цена е само малко повече от цената за достъп до тази таблица. Ясно е, че FTS в тази таблица има най-голям принос за болезнената точка на тази заявка, която се анализира.
Разглеждайки разходите на Explain Plan по този начин, ние успяхме много бързо да се съсредоточим върху една област на много сложна заявка, която причинява най-голяма болка при производителността. Без анализа на разходите, направен тук, определянето коя част от заявката по-долу причинява проблем би било много работа.