国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

使用DB2look重新創(chuàng)建優(yōu)化器訪問計劃(1)

瀏覽:31日期:2023-11-07 17:29:24
在作為 DB2 UDB 支持分析員(Support Analyst)工作時,我經(jīng)常從處理優(yōu)化器或查詢計劃問題的客戶那里聽到下列問題:我如何在接手生產(chǎn)環(huán)境的測試環(huán)境中重新創(chuàng)建相同的查詢訪問計劃呢?我們經(jīng)常需要將生產(chǎn)環(huán)境復制到測試環(huán)境中,包括為查詢分析目的重新創(chuàng)建相同的訪問計劃。例如,在生產(chǎn)中,您可能會碰到使用糟糕訪問計劃的查詢所導致的性能問題,并且需要在測試系統(tǒng)上復制該訪問計劃以嘗試一些不同的策略,例如操作統(tǒng)計數(shù)據(jù),修改優(yōu)化級別,對 DB2 注冊表變量嘗試不同的設(shè)置等等,以便提高性能。在理想的世界中,您需要讓測試環(huán)境盡可能接近地匹配生產(chǎn)。也就是說,您需要在兩個環(huán)境中使用完全相同的硬件、操作系統(tǒng)維護級別和配置、DB2 級別和配置,以及在測試中使用與生產(chǎn)中相同的數(shù)據(jù)。然而,并非總是可以達到這種理想情況。假如生產(chǎn)環(huán)境具有極其大量的數(shù)據(jù),您或許就沒有容量來保存生產(chǎn)系統(tǒng)的測試副本。db2look 實用程序可以用于達到該目標,即使您無法復制所有的生產(chǎn)細節(jié)。本文將解釋如何可以在測試系統(tǒng)上模擬生產(chǎn)系統(tǒng),而無需真正的數(shù)據(jù)來重新創(chuàng)建查詢計劃問題。該功能將幫助您調(diào)試查詢和理解訪問計劃問題,且不打斷生產(chǎn)環(huán)境中的工作。但是請注重,假如需要測試結(jié)果訪問計劃的執(zhí)行,則仍然需要將盡可能多的數(shù)據(jù)從生產(chǎn)環(huán)境裝入測試環(huán)境。測試系統(tǒng)和生產(chǎn)系統(tǒng)之間的差別仍然總是可能足以導致測試上的執(zhí)行特性不匹配生產(chǎn)上的。這部分的分析(性能調(diào)優(yōu))既是一門科學,又是一門藝術(shù)。優(yōu)化器或查詢編譯器領(lǐng)域中的其他問題,例如 SQL0901N 錯誤或?qū)嵗罎ⅲ部梢允褂帽疚闹兴忉尩姆椒▉碇匦聞?chuàng)建。您可以嘗試各種策略,如測試最新的補丁包(假如系統(tǒng)是處于更老的補丁級別),嘗試不同的優(yōu)化級別、不同的注冊表變量等等,以便查看這些修改是否將解決問題。;讓我們看一看 db2look 中用于達到該目標的選項。db2look 命令及其選項下面是用于從生產(chǎn)系統(tǒng)捕捉所需信息的命令:清單 1. 重新創(chuàng)建優(yōu)化器問題的命令db2look -d <dbname> -l -o storage.out db2look -d <dbname> -f -fd -o config.out db2look -d <dbname> -e -a -m -o db2look.out db2look -d <dbname> -e -a -m -t table1 table2 ....tableX -o table.ddl現(xiàn)在,讓我們更具體地看一看這些 db2look 命令選項。生成緩沖池、表空間和數(shù)據(jù)庫分區(qū)組信息。db2look -d <dbname> -l -o storage.outdb2look -d -l -o storage.out下面是對以上 db2look 命令中所用選項的描述:-d:數(shù)據(jù)庫名 —— 該選項必須指定。-l:生成數(shù)據(jù)庫布局。這是用于數(shù)據(jù)庫分區(qū)組、緩沖池和表空間的布局。-o:將輸出重新定向到給定的文件名。假如未指定 -o 選項,然么輸出將為標準輸出(stdout),通常是輸出到屏幕。-l 選項對于模擬生產(chǎn)環(huán)境十分重要。理想情況下,您需要具有相同的緩沖池、數(shù)據(jù)庫分區(qū)組(假如處于多分區(qū)環(huán)境中)和表空間信息(包括臨時表空間)。但是,假如您受到了內(nèi)存約束,無法分配生產(chǎn)中所具有的大型緩沖池,那么就使用 db2fopt 命令。我稍后將在本小節(jié)中更具體地討論該命令。并非總是可以在測試中設(shè)置與生產(chǎn)中相同的表空間。例如,可能設(shè)置了大型設(shè)備,卻無法靈活地在測試中創(chuàng)建相同的設(shè)備大小。或者,可能根本無法在測試環(huán)境中獲得單獨的表空間設(shè)備。此外,或許無法在測試中設(shè)置與生產(chǎn)中相同的路徑。需要適當?shù)馗穆窂健⒃O(shè)備和文件以適應(yīng)測試環(huán)境。;下面是優(yōu)化器為表空間所使用的重要信息。這就是您需要確保在測試和生產(chǎn)中相同的信息。(注重:這里所展示的數(shù)字是一個例子。您應(yīng)在測試中使用與您生產(chǎn)中相同的設(shè)置。)PREFETCHSIZE 16 EXTENTSIZE 16 OVERHEAD 12.670000 TRANSFERRATE 0.180000假如生產(chǎn)中表空間是“由數(shù)據(jù)庫治理的,那么在測試中也應(yīng)該是“由數(shù)據(jù)庫治理的。假如它在生產(chǎn)中是“由系統(tǒng)治理的,那在測試中也應(yīng)該是這樣的方式。注重:假如這是具有多個物理分區(qū)(MPP)的系統(tǒng),那么測試中數(shù)據(jù)庫分區(qū)組中的分區(qū)數(shù)目就必須相同。然而,物理機器的數(shù)目不必相同。測試和生產(chǎn)中整個 MPP 環(huán)境中邏輯分區(qū)的數(shù)目必須相同。生成配置參數(shù)和注冊表變量db2look -d <dbname> -f -fd -o config.out這里,我將使用下列參數(shù):-f:提取配置參數(shù)和注冊表變量。假如指定了該選項,就會忽略 -wrapper 和 -server 選項。-fd:為 opt_buffpage 和 opt_sortheap 生成 db2fopt 語句,以及其他配置和注冊表設(shè)置。該命令的輸出如下所示:清單 2. db2look 命令的示例輸出:$ db2look -d sample -f -fd -- No userid was specified, db2look tries to useEnvironment variable USER -- USER is: SKAPOOR -- This CLP file was created using DB2LOOK Version 8.2 -- Timestamp: Sat Mar 26 00:13:36 EST 2005 -- Database Name: SAMPLE -- Database Manager Version: DB2/6000 Version 8.2.2 -- Database Codepage: 819 -- Database Collating Sequence is: UNIQUE CONNECT TO SAMPLE; -------------------------------------------------------- -- Database and Database Manager configuration parameters -------------------------------------------------------- UPDATE DBM CFG USING cpuspeed 6.523521e-07; UPDATE DBM CFG USING intra_parallel NO; UPDATE DBM CFG USING federated NO; UPDATE DBM CFG USING fed_noauth NO; !db2fopt SAMPLE update opt_buffpage 50000; !db2fopt SAMPLE update opt_sortheap 10000; UPDATE DB CFG FOR SAMPLE USING locklist 1000; UPDATE DB CFG FOR SAMPLE USING dft_degree 1; UPDATE DB CFG FOR SAMPLE USING maxlocks 10; UPDATE DB CFG FOR SAMPLE USING avg_appls 1; UPDATE DB CFG FOR SAMPLE USING stmtheap 2048; UPDATE DB CFG FOR SAMPLE USING dft_queryopt 5; --------------------------------- -- Environment Variables settings --------------------------------- !db2set DB2_ANTIJOIN=yes; !db2set DB2_INLIST_TO_NLJN=yes; COMMIT WORK; CONNECT RESET; TERMINATE;-f 和 -fd 選項是用于提取配置參數(shù)和注冊表變量的要害選項,而優(yōu)化器將在訪問計劃階段使用這些配置參數(shù)和環(huán)境。在上面的 清單 2 中,請注重下列 -fd 選項所產(chǎn)生的輸出:!db2fopt SAMPLE update opt_buffpage 50000; !db2fopt SAMPLE update opt_sortheap 10000;db2fopt 命令告訴優(yōu)化器為“緩沖池大小(Buffer pool size)使用指定的值,而非將可用緩沖池變量的頁面加起來。(db2exfmt 輸出中的緩沖池大小將在下面的 緩沖池大小 一節(jié)中進行進一步的討論。)例如,假設(shè)由于測試系統(tǒng)上的內(nèi)存約束,您無法獲得大型的緩沖池,并且希望將大小配置得相同,實際上卻不是真正有這么大。使用將生成必要的 db2fopt 命令的 -fd 選項來告訴優(yōu)化器使用指定大小,而非基于對該數(shù)據(jù)庫可用的緩沖池進行計算。;
相關(guān)文章:
主站蜘蛛池模板: 欧美一级毛片一级 | 欧美一区二区三区在线观看免费 | 99国产精品久久久久久久日本 | 婷婷丁香花麻豆 | 免费人成在线观看网站 | 国产成人午夜片在线观看 | 美国毛片在线观看 | 国产资源在线免费观看 | 国产草草影院ccyycom软件 | 欧美一级日韩在线观看 | 欧美一区二区三区不卡片 | 窝窝午夜精品一区二区 | 免费国产黄网站在线观看视频 | 99爱免费观看视频在线 | a毛片免费观看完整 | 亚洲欧美韩日 | 欧美xxxxx色视频在线观看 | 欧美色偷偷| 国产高清在线视频 | 久视频免费精品6 | 国产男女爽爽爽爽爽视频 | 午夜dj视频完整社区 | 久久精品国产精品亚洲 | 久久久久久久综合色一本 | 在线欧美一级毛片免费观看 | 看全色黄大色黄大片毛片 | 国产亚洲一区在线 | 久久两性| 99精品这里只有精品高清视频 | 亚洲撸 | 两性色午夜视频免费国产 | a级毛片高清免费视频 | 欧美日韩高清不卡免费观看 | 日本一级毛片高清免费观看视频 | 狠狠88综合久久久久综合网 | 毛片图片 | 国产成人精品亚洲2020 | 欧美在线一区二区三区欧美 | 天天狠操| 国产一级片观看 | 亚洲精品国产专区91在线 |