 |
IDS Forum
Re: Question about sysindexes.clust
Posted By: Eric Rowell Date: Tuesday, 18 November 2008, at 3:46 p.m.
In Response To: Re: Question about sysindexes.clust (Richard Snoke)
I will try to copy this data in. The read ahead isn't 100% but never drops
below 99.99%
The following are the different run times, the calulcated BTR, Read Ahead
Utilization, and Buffer Wait Ratio. The 9 hour run is the only bad run this
in this data set. The good runs are all after basicly clustering the data.
Runtime 5:47 9:54 4:56 4:45 4:50 4:46 BTR 7.46823 4.27814
8.56996 8.90136 8.74626 8.900555 RAU 99.9938% 99.9946% 99.9947% 99.9948%
99.9947% 99.9938% BR 0.6950% 0.4281% 0.3898% 0.3953% 0.3885% 0.3883%
On Tue, Nov 18, 2008 at 3:37 PM, Richard Snoke <dsnoke@us.ibm.com> wrote:
> Have you looked at the read ahead parameters and utilizaiton? Are you
> using KAIO or not? How much of your buffer pool is occupied by the pages
> of this table and its indexes? At this point this feels like it might be
> that the buffer pages are being thrashed when the data is not pre-sorted
> (which the clustering accomplishes). I've seen that as the cause of
> similar symptoms in other applications.
>
> Dick Snoke
> IBM Data Management - ChannelWorks
> dsnoke@us.ibm.com
> (404) 487-1595
>
> From:
> "Obnoxio The Clown" <obnoxio@serendipita.com>
> To:
> ids@iiug.org
> Date:
> 11/18/2008 03:08 PM
> Subject:
> Re: Question about sysindexes.clust [14015]
>
> Eric Rowell wrote:
> > The following is the explain plain for the only query in the program
> which
> > isn't running correctly. The first is the plan from the normal run
> (filter
> > data had to be changed to project my job). The info after that is from a
>
> > diff of the explain outs for 2 more configurations. Also during all
> tests
> > we used a production like system (smaller CPU and slower SAN) but we
> know
> > the approx. modifier from prod to dev. When we sorted the data by the
> > serial_link and reloaded (changing the fragmentation as shown earlier
> things
> > run much better.
> >
> > EXPLAIN from normal run...
> >
> > QUERY:
> > ------
> > SELECT qd.option_list, oq.optid
> > FROM qty_head qh, qty_det qd, optcombo_qty oq
> > WHERE ((qh.set_no = "FINDA" AND qh.version = "09") OR
> >
> > (qh.set_no = "ORFND" AND qh.version = "01"))
> >
> > AND qh.serial_key = qd.serial_link
> >
> > AND qd.serial_key = oq.option_group_id
> >
> > AND qh.dept_code IN ("AAA","BBB","CCC","DDD","EEE")
> >
> > AND qh.community = "00"
> >
> > Estimated Cost: 1049986
> > Estimated # of Rows Returned: 1083718
> > 1) informix.qh: INDEX PATH
> >
> > (1) Index Keys: dept_code community set_no version phase_no lot
> > area_group_id
> >
> > (Key-First) (Serial, fragments: ALL)
> >
> > Lower Index Filter: (informix.qh.dept_code = 'AAA' AND
> > informix.qh.community = '00' )
> >
> > Index Key Filters: (( (informix.qh.set_no = 'FINDA' AND
> > informix.qh.version = '09')
> >
> > OR (informix.qh.set_no = 'ORFND' AND
> > informix.qh.version = '01')))
> >
> > (2) Index Keys: dept_code community set_no version phase_no lot
> > area_group_id
> >
> > (Key-First) (Serial, fragments: ALL)
> >
> > Lower Index Filter: (informix.qh.dept_code = 'BBB' AND
> > informix.qh.community = '00' )
> >
> > Index Key Filters: (( (informix.qh.set_no = 'FINDA' AND
> > informix.qh.version = '09')
> >
> > OR (informix.qh.set_no = 'ORFND' AND
> > informix.qh.version = '01')))
> >
> > (3) Index Keys: dept_code community set_no version phase_no lot
> > area_group_id
> >
> > (Key-First) (Serial, fragments: ALL)
> >
> > Lower Index Filter: (informix.qh.dept_code = 'CCC' AND
> > informix.qh.community = '00' )
> >
> > Index Key Filters: (( (informix.qh.set_no = 'FINDA' AND
> > informix.qh.version = '09')
> >
> > OR (informix.qh.set_no = 'ORFND' AND
> > informix.qh.version = '01')))
> >
> > (4) Index Keys: dept_code community set_no version phase_no lot
> > area_group_id
> >
> > (Key-First) (Serial, fragments: ALL)
> >
> > Lower Index Filter: (informix.qh.dept_code = 'DDD' AND
> > informix.qh.community = '00' )
> >
> > Index Key Filters: (( (informix.qh.set_no = 'FINDA' AND
> > informix.qh.version = '09')
> >
> > OR (informix.qh.set_no = 'ORFND' AND
> > informix.qh.version = '01')))
> >
> > (5) Index Keys: dept_code community set_no version phase_no lot
> > area_group_id
> >
> > (Key-First) (Serial, fragments: ALL)
> >
> > Lower Index Filter: (informix.qh.dept_code = 'EEE' AND
> > informix.qh.community = '00' )
> >
> > Index Key Filters: (( (informix.qh.set_no = 'FINDA' AND
> > informix.qh.version = '09' )
> >
> > OR (informix.qh.set_no = 'ORFND' AND
> > informix.qh.version = '01')))
> > 2) informix.qd: INDEX PATH
> >
> > (1) Index Keys: serial_link (Serial, fragments: ALL)
> >
> > Lower Index Filter: informix.qh.serial_key = informix.qd.serial_link
> > NESTED LOOP JOIN
> > 3) informix.optcombo_head: INDEX PATH
> >
> > (1) Index Keys: serial_key option_list option_count (Serial,
> > fragments: ALL)
> >
> > Lower Index Filter: informix.qd.optcombo_head_key =
> > informix.optcombo_head.serial_key
> > NESTED LOOP JOIN
> > 4) product.qty_detail: INDEX PATH
> >
> > (1) Index Keys: serial_key (Serial, fragments: ALL)
> >
> > Lower Index Filter: informix.qd.serial_key =
> > product.qty_detail.serial_key
> > NESTED LOOP JOIN
> > 5) informix.oq: INDEX PATH
> >
> > (1) Index Keys: optcombo_head_key opt_id (Key-Only) (Serial,
> > fragments: ALL)
> >
> > Lower Index Filter: informix.oq.optcombo_head_key =
> > product.qty_detail.optcombo_head_key
> > NESTED LOOP JOIN
> >
> > Diff of Explain Plan after just reloading the table:
> > < Estimated Cost: 1049986
> > < Estimated # of Rows Returned: 1083718
> > ---
> >> Estimated Cost: 2348476
> >> Estimated # of Rows Returned: 1486409
> >
> > Diff of Explain Plan after reloading the sorting data (using
> serial_link):
> > < Estimated Cost: 1049986
> > < Estimated # of Rows Returned: 1083718
> > ---
> >> Estimated Cost: 851019
> >> Estimated # of Rows Returned: 1094319
> >
> > The cost difference appears to be in line with the change to the
> > sysindex.clust value for the indexes.
>
> And which table do you query from to see if there are missing rows and
> insert them?
>
> Basically, I can't disagree with your analysis, I'm just curious as to
> why ordering should have such a measurable impact on performance given
> the explain plan. In general, it doesn't.
>
> I feel like there is something lurking in the nether hells of my brain,
> but I can't quite drag it out. Last time I saw something like this, the
> root cause was "XXXX in my opinion" but I can't remember what "XXXX" was.
>
> Give me time. Or Art will be along shortly. :o)
>
> --
> Cheers,
> Obnoxio The Clown
>
> http://obotheclown.blogspot.com
>
>
>
> *******************************************************************************
>
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
>
> *******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--
Eric B. Rowell
Messages In This Thread
- Question about sysindexes.clust
Eric Rowell -- Tuesday, 18 November 2008, at 12:17 p.m.
- Re: Question about sysindexes.clust
Obnoxio The Clown -- Tuesday, 18 November 2008, at 12:22 p.m.
- Re: Question about sysindexes.clust
Eric Rowell -- Tuesday, 18 November 2008, at 12:45 p.m.
- Re: Question about sysindexes.clust
Obnoxio The Clown -- Tuesday, 18 November 2008, at 12:48 p.m.
- Re: Question about sysindexes.clust
Eric Rowell -- Tuesday, 18 November 2008, at 12:57 p.m.
- Re: Question about sysindexes.clust
Obnoxio The Clown -- Tuesday, 18 November 2008, at 1:00 p.m.
- Re: Question about sysindexes.clust
Obnoxio The Clown -- Tuesday, 18 November 2008, at 1:03 p.m.
- Re: Question about sysindexes.clust
Eric Rowell -- Tuesday, 18 November 2008, at 2:36 p.m.
- Re: Question about sysindexes.clust
Obnoxio The Clown -- Tuesday, 18 November 2008, at 3:01 p.m.
- Re: Question about sysindexes.clust
Obnoxio The Clown -- Tuesday, 18 November 2008, at 3:04 p.m.
- Re: Question about sysindexes.clust
Eric Rowell -- Tuesday, 18 November 2008, at 3:24 p.m.
- Re: Question about sysindexes.clust
Richard Snoke -- Tuesday, 18 November 2008, at 3:37 p.m.
- Re: Question about sysindexes.clust
Eric Rowell -- Tuesday, 18 November 2008, at 3:46 p.m.
- Re: Question about sysindexes.clust
Art Kagel -- Tuesday, 18 November 2008, at 4:28 p.m.
- Re: Question about sysindexes.clust
Eric Rowell -- Tuesday, 18 November 2008, at 2:18 p.m.
IDS Forum is maintained by Administrator with WebBBS 5.12.
|
 |