日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

如何對進(jìn)行INFORMIX進(jìn)行Update Statistics

 昵稱15242507 2014-10-21
一、Update Statistics的作用

  為了提高數(shù)據(jù)庫的效率,INFORMIX提供了一個基于成本的查詢優(yōu)化器,執(zhí)行update statistics語句的作用就是將您創(chuàng)建的數(shù)據(jù)庫表的有關(guān)統(tǒng)計信息更新到系統(tǒng)sysmaster的相關(guān)表中(如systables、syscolumns、sysindexes、sysdistrib、sysprocplan等),以便查詢優(yōu)化器選擇最佳的執(zhí)行路徑。當(dāng)sysmaster庫中沒有相應(yīng)的統(tǒng)計信息,或者統(tǒng)計信息不十分準(zhǔn)確時,優(yōu)化器便無法制定一個行之有效的查詢策略,其結(jié)果必然是進(jìn)行大量極其可怕的順序掃描,產(chǎn)生嚴(yán)重的性能問題。
  因此,當(dāng)您重新裝載數(shù)據(jù)或者對數(shù)據(jù)庫表進(jìn)行了大量的更新操作后,應(yīng)該及時執(zhí)行update statistics。也許您會發(fā)現(xiàn),數(shù)據(jù)庫一些參數(shù)配置的不合理可能使數(shù)據(jù)庫效率降低百分之幾,但如果您沒有定期執(zhí)行update statistics的話。數(shù)據(jù)庫的性能則可能降低幾到十幾倍。

二、Update Statistics的語法

  執(zhí)行update statistics共有三個級別,即:update statistics low、updates tatistics medium、update statistics high。
  1 update statistics[low]for table[{table-name|synonym-name}[(column-list)]]][drop distributions]
  update statistics low只更新表、字段、記錄數(shù)、頁數(shù)及索引等的最基本信息,對字段的分布情況不做統(tǒng)計。其語法說明如下:
  (1)update statistics或update statistics low,對當(dāng)前數(shù)據(jù)庫中所有表(包括系統(tǒng)表)及過程進(jìn)行更新統(tǒng)計。
  (2)update statistics low for table,對當(dāng)前數(shù)據(jù)庫中所有表(包括臨時表,但不包括系統(tǒng)表)進(jìn)行更新統(tǒng)計。
  (3)update statistics low for table tablename,對指定的表所有字段進(jìn)行更新統(tǒng)計。
  (4)update statistics low for table tablename(column-list),對指定表的指定字段進(jìn)行更新統(tǒng)計。
  (5)如果不帶drop distributions,原有字段分布情況依然保留;否則,原有字段分布情況將被刪除。
  2 update statistics medium[for table[{table-name|synonym-name}[(column-list)]]][resolution percent[conf]][distributions only]
  update statistics medium除了更新表、字段、記錄數(shù)、頁數(shù)及索引等的最基本信息外,對字段的分布情況會采取抽樣的辦法來統(tǒng)計,因此與update statistics low相比需要花費更多的時間。其語法說明如下:
  (1)resolution percent是指分布統(tǒng)計的詳細(xì)程序,percent定義的是一個百分?jǐn)?shù),如resolution2意思是指按照字段的值分布統(tǒng)計成50段,如果不指定resolution percent,缺省值為2.5。
  (2)conf是指分布統(tǒng)計時取樣的比例,conf參數(shù)的取值范圍為0.80—0.99,缺省值為0.95。
  (3)如果指定了distributions only,則對索引的信息不做更新統(tǒng)計。
  3 update statistics high[for table[{table-name|synonym-name}[(column-list]]][resolutionpercent][distributions only]
  update statistics high與update statistics medium的區(qū)別是在統(tǒng)計字段的分布情況時,后者采用了取樣的辦法,而前者進(jìn)行全部統(tǒng)計,因此update statistics high更新統(tǒng)計最全面,執(zhí)行時間也最長。其語法說明如下:
  (1)如果不指定resolution percent,缺省值為0.5。
  (2)如果指定了distributions only,則對索引的信息不做更新統(tǒng)計。
  4 update statistics for procedure[procedure-name],只對指定的過程進(jìn)行更新統(tǒng)計,對表不做更新統(tǒng)計

三、如何執(zhí)行Update Statistics

  通常執(zhí)行update statistics的方法是:
  1 對表中不帶索引的字段執(zhí)行update statistics medium,每個表執(zhí)行一次。一般情況下,缺省參數(shù)就足夠了。對于特別大的表(執(zhí)行update statistics時,通常把超過26570條記錄的表定義為特別大的表),可以帶參數(shù)resolution1.00.99。
  2 對表中帶有索引的字段執(zhí)行update statistics high,每個字段執(zhí)行一次。
  3 對表中帶有復(fù)合索引的字段執(zhí)行update statistics low,每個表執(zhí)行一次。
  4 對每一個小表執(zhí)行update statistics high。

四、注意事項

  1 數(shù)據(jù)庫本身不會自動更新sysmaster庫中有關(guān)statistics統(tǒng)計信息,只有執(zhí)行update statistics語句后,才能得到更新。
  2 執(zhí)行update statistics語句時,必須具有DBA權(quán)限或者為表的屬主。
  3 由于update statistics通常為單線程運行,不能利用PDQ等并發(fā)功能,對于一個較大的數(shù)據(jù)庫,執(zhí)行update statistics語句一般需要幾個小時。為提高效率,可以將update statistics分為多個shell程序同時執(zhí)行,并充分考慮數(shù)據(jù)空間分布情況,在并發(fā)執(zhí)行時減少磁盤讀寫的沖突。
  4 執(zhí)行update statistics語句會占用一些臨時空間,當(dāng)臨時空間不夠時,數(shù)據(jù)庫將提示錯誤。您可以通過設(shè)置DBUPSPACE環(huán)境變量,使update statistics在遇到臨時空間不夠時分步來執(zhí)行排序統(tǒng)計。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多