Hi all..
Given the following table definition:
create table acct_nbr_srch_keys
(
t_acct_num char(10),
fund_num char(3),
acct_num char(13),
doc_id integer not null ,
fldr_id integer not null
);
create unique index acctnbr_s_keys_pk on acct_nbr_srch_keys
(acct_num,fund_num,t_acct_num,doc_id);
create index acctnbr_s_keys_ix1 on acct_nbr_srch_keys
(t_acct_num,acct_num,fund_num,fldr_id,doc_id);
create index acctnbr_sk_doc_fk on acct_nbr_srch_keys (doc_id);
create index acctnbr_s_keys_ix2 on acct_nbr_srch_keys (fldr_id);
I am curious to understand why the update statistics statements are
generated as follows:
UPDATE STATISTICS MEDIUM FOR TABLE acct_nbr_srch_keys DISTRIBUTIONS
ONLY;
UPDATE STATISTICS HIGH FOR TABLE acct_nbr_srch_keys (t_acct_num)
DISTRIBUTIONS ONLY;
UPDATE STATISTICS LOW FOR TABLE acct_nbr_srch_keys (t_acct_num,
acct_num, fund_num, fldr_id, doc_id);
UPDATE STATISTICS HIGH FOR TABLE acct_nbr_srch_keys (acct_num)
DISTRIBUTIONS ONLY;
UPDATE STATISTICS LOW FOR TABLE acct_nbr_srch_keys (acct_num, fund_num,
t_acct_num, doc_id);
UPDATE STATISTICS HIGH FOR TABLE acct_nbr_srch_keys (doc_id);
UPDATE STATISTICS HIGH FOR TABLE acct_nbr_srch_keys (fldr_id);
Specifically, why are there multiple updates for the same columns (look
at the two LOW statements).
I understand the HIGH's.
This table contains 31,000,000 rows and this update statistics job takes
15 hours to complete on a six-way Sun machine. I would like to shave any
time off the execution that I can.
thanks as always.....
doug.mcallister.vcf < 1K Download |