Re: 12.2 sql monitor reports - actual rows + executions
Date: Sat, 18 May 2019 22:30:42 +0100
Message-ID: <CACj1VR5aScd=PrpkNMdSOZMSDP3DHD7cYBvrnr=PtRBS05DOMQ_at_mail.gmail.com>
Actual rows is the total from all executions of that particular line.
Remember that each execution is likely to return a different number of rows.
It sounds like you have a nested loops plan that drives from a huge row
source, uses an index on filters that give about 32 rowids per loop. This
then gets filtered massively when you eventually read the table blocks.
If your table only had 680,000 rows, then the nested loop of that index
means that rows are read on average 323 times each. Sounds very inefficient.
Hope that helps,
On Sat, 18 May 2019 at 22:06, Chris Stephens <cstephens16_at_gmail.com> wrote:
> Is my memory getting that bad or did something change in how sql monitor
Andy
> reports actual rows and executions?
>
> I have a plan_line_id that's an index range scan on a table with 680,000
> rows reporting an "actual rows" value of 220,000,000 and an "Executions"
> value of 6,861,000.
>
> I aways though it was ("executions" x "actual rows") that got passed up to
> the parent operation but that's not making sense at the moment.
>
> Chris
>
-- http://www.freelists.org/webpage/oracle-lReceived on Sat May 18 2019 - 23:30:42 CEST