• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            今天看了一篇文章,覺得不管怎么強(qiáng)調(diào)sortheap的重要性都不為過(guò)。理由我后面肯定會(huì)寫詳細(xì)的,這里寫記錄下,占個(gè)位置:

            ----2007.07.10.00。13(沒想到是10號(hào)還以為9號(hào)呢 ,9號(hào)剛過(guò)

             

            ========================

            感覺學(xué)的不是很好,沒有達(dá)到目標(biāo),但還是把這2天學(xué)的寫上吧 。

             1.sortheap在數(shù)據(jù)庫(kù)配置說(shuō)明上是這樣的:定義要用于專用排序的專用內(nèi)存頁(yè)的最大數(shù)目,或者要用于共享排序的共享內(nèi)存頁(yè)的最大數(shù)目。現(xiàn)在這個(gè)項(xiàng)目并沒有啟動(dòng)分區(qū)并行性,所以此參數(shù)只是表示要用于專用排序的專用內(nèi)存頁(yè)的最大數(shù)目。不知道是我沒理解好,還是db2沒有說(shuō)好,其實(shí)這個(gè)參數(shù)還有個(gè)很重要的作用:數(shù)據(jù)庫(kù)在執(zhí)行散列連接sql的時(shí)候也用到此內(nèi)存區(qū)域。db2  對(duì)2個(gè)表進(jìn)行連接的時(shí)候,只有3種類型:嵌套,合并,散列。其中散列連接用的最多(我在執(zhí)行復(fù)雜sql的時(shí)候是這樣的,簡(jiǎn)單的沒有測(cè)試過(guò)大家可以測(cè)試下)。進(jìn)行散列連接的時(shí)候,數(shù)據(jù)庫(kù)會(huì)把其中一個(gè)表的內(nèi)容復(fù)制到sortheap對(duì)應(yīng)的內(nèi)存中,如果sortheap對(duì)應(yīng)的內(nèi)存不夠大,就會(huì)吧余下的數(shù)據(jù)庫(kù)復(fù)制到臨時(shí)表空間中。然后進(jìn)行連接比較。可以想想操作內(nèi)存和操作硬盤的差別吧,所以我們應(yīng)盡量大的設(shè)置sortheap,使他不溢出到硬盤中,或者很少溢出。(關(guān)于上面3中嵌套,合并,散列連接類型,可以看下面的附件,附件中有很詳細(xì)的說(shuō)明)

            2.  查看是否溢出的方法:

            大家執(zhí)行下面的命令: db2 gen snapshot for db on 數(shù)據(jù)庫(kù)名 (這個(gè)命令不需要打開db2的快照開關(guān),db2有些默認(rèn)的快照信息)。在輸出的信息中查找下面的信息:

            已分配的專用排序堆總數(shù)          = 0
            已分配的共享排序堆總數(shù)                    = 0
            共享排序堆高水位標(biāo)記                      = 0
            總計(jì)排序                          = 34600
            總計(jì)排序時(shí)間(毫秒)              = 35491
            排序溢出                            = 2384
            活動(dòng)排序數(shù)                                 = 0

            散列連接數(shù)                        = 38808
            散列循環(huán)數(shù)                        = 0
            散列連接溢出數(shù)                    = 534
            小散列連接溢出數(shù)                  = 1

             

             排序溢出 /總計(jì)排序   可以得到溢出比例  (如果溢出比例大于 3 個(gè)百分點(diǎn),那么在應(yīng)用程序 SQL 中會(huì)出現(xiàn)嚴(yán)重的或意外的排序問題。因?yàn)檎且绯龅拇嬖诒砻靼l(fā)生了大的排序,所以理想的情況是發(fā)現(xiàn)沒有排序溢出或至少其百分比小于一個(gè)百分點(diǎn)。
            如果出現(xiàn)過(guò)多的排序溢出,那么“應(yīng)急”解決方案是增加SORTHEAP的大小。然而,這樣做只是掩蓋了真實(shí)的性能問題。相反,您應(yīng)該確定引起排序的 SQL 并更改該 SQL、索引或群集來(lái)避免或減少排序開銷。如果溢出比例大于 5 (作為一種經(jīng)驗(yàn)之談),那么每個(gè)事務(wù)的排序數(shù)可能很大。雖然某些應(yīng)用程序事務(wù)執(zhí)行許多小的組合排序(它們不會(huì)溢出并且執(zhí)行時(shí)間很短),但是它消耗了過(guò)多的 CPU。當(dāng)SortsPerTX很大時(shí),按我的經(jīng)驗(yàn),這些機(jī)器通常會(huì)受到 CPU 的限制。確定引起排序的 SQL 并改進(jìn)存取方案(通過(guò)索引、群集或更改 SQL)對(duì)提高事務(wù)吞吐率是極為重要的。

            散列連接數(shù)   就是在執(zhí)行sql的時(shí)候進(jìn)行散列連接的數(shù)目。這里只說(shuō)下散列循環(huán)數(shù) 的意義,其他參數(shù)的意義在下面的附件中都有很詳細(xì)的說(shuō)明:  我在測(cè)試的時(shí)候,把sortheap設(shè)置為16個(gè)頁(yè),然后執(zhí)行復(fù)雜的sql,散列循環(huán)數(shù)有值,而且很高。一般看到散列循環(huán)數(shù)有值就要注意,他說(shuō)明你的sortheap或者SHEAPTHRES(實(shí)例級(jí)參數(shù))太低了。現(xiàn)在的測(cè)試情況就說(shuō)明sortheap太低了。另外一種情況SHEAPTHRES太低的原因: SHEAPTHRES已經(jīng)分配給前面的代理進(jìn)程了,再有代理進(jìn)程申請(qǐng)sortheap的時(shí)候,SHEAPTHRES已經(jīng)達(dá)到上限了,這個(gè)時(shí)候db2就會(huì)給申請(qǐng)sortheap的進(jìn)程很小的值,此時(shí)代理進(jìn)程進(jìn)行散列連接的時(shí)候就需要把很多數(shù)據(jù)放到硬盤上,這個(gè)時(shí)候就會(huì)導(dǎo)致散列循環(huán)數(shù)值很高,這個(gè)時(shí)候大家可以增加 SHEAPTHRES進(jìn)行觀察。

             

            3.查看排序溢出的sql方法: 首先打開快照監(jiān)視器:  db2 update monitor switches using sort on statements on ;

            然后過(guò)段時(shí)間(1分鐘就可以了)執(zhí)行 get snapshot for all on 數(shù)據(jù)庫(kù)名;

            在輸出的信息中查找:語(yǔ)句排序溢出                    = 1   ,看對(duì)應(yīng)的sql就知道了,對(duì)sql的執(zhí)行計(jì)劃分析下就明白了。

            記得在測(cè)試完要關(guān)閉 快照開關(guān): db2 update monitor switches using sort off statements off;



            http://acme1921209.iteye.com/blog/99526
            国产福利电影一区二区三区久久老子无码午夜伦不 | 国产叼嘿久久精品久久| 精品99久久aaa一级毛片| 欧美粉嫩小泬久久久久久久 | 欧美激情精品久久久久久| 香蕉aa三级久久毛片| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 精品久久无码中文字幕| 欧美亚洲国产精品久久蜜芽| 青青草国产97免久久费观看| 丁香色欲久久久久久综合网| www.久久热| 国内精品伊人久久久久777| 国产精品久久久久天天影视| 色综合久久天天综线观看| 久久久久四虎国产精品| 午夜欧美精品久久久久久久| 99久久婷婷国产一区二区| 久久久久亚洲AV无码麻豆| 日本精品久久久久久久久免费| 99久久精品费精品国产一区二区| 免费一级做a爰片久久毛片潮| 久久精品国产亚洲一区二区| 国内精品九九久久精品| 久久久久无码精品| 四虎国产精品免费久久久| 99久久国产综合精品女同图片| 99久久国产主播综合精品| 久久精品亚洲精品国产色婷| 久久只有这精品99| 亚洲精品无码久久久久AV麻豆| 中文字幕一区二区三区久久网站| 日产精品久久久久久久| 久久久久久亚洲精品无码| 国产精品熟女福利久久AV| 久久久青草青青亚洲国产免观| 国产亚洲精久久久久久无码| 久久久久人妻一区二区三区vr| 久久久免费精品re6| 亚洲国产精品无码久久久不卡| 7777久久久国产精品消防器材|