- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
奇妙的SQL Optimizer Sky Wu 10/03/2003 Revision History 案例研討~格式說明 案例研討~格式說明 需求描述 (Why?) (SA) 問題與需求描述 期望產出(What?) 輸入(Input): 範例腳本與測試資料 (What?) 原始資料庫設計: SQL Script (.sql/Visio) 原始測試資料 輸出(Output): 可驗證的結果 (.xls) (What?) Excel輸出範例 (select) 解決方案 (How to?) (SD/Coding) 運算邏輯(Process): SQL/ Stored Procedure 的程式邏輯(.sql) 測試與驗證 (How to?) (Test) 測試案例: 驗證程序: 分享開發與測試驗證的cycle. 延伸應用 (When?) (Pattern) What If (Requirement Change) 注意事項 可能的需求改變 建議設計調整 Why.背景與問題說明 環境: TSIB/ SQL 2000 + ASP. 問題/現象(TSIB) 查詢全公司部門訓練統計表, 時常無法執行, 經查有ASP Timeout的現象 上述問題,導致Global Temporary Table存在,使用者無法再次執行. What.期望產出 功能需求 部門訓練統計表 查詢某個單位(含以下單位), 在某段區間的不同課程分類的受訓總人數, 總人次與總人時. 程式邏輯(Source) 將查詢的單位轉換為暫存表 計算‘某段區間的不同課程分類的受訓總人數, 總人次與總人時’ 轉換為CrossTab 效能需求 No timeout,under 8 sec. How.狀況分析 變異現象 僅查詢某個單位, 沒有問題. 因擴大訓練的承認範圍,造成訓練資料大幅成長 (70萬) 可能原因 Index不好 ? Why? SQL不好 ? Why? 設計不好 ? Why? 對策 Divide and Conquer/ Partition 設計不好 ? 利用Data Mart儲存統計結果, 降低線上直接運算 How.對策執行 了解需求(Why? What?) 為何需filter掉離職人員/… 有很多denormalization的欄位? 了解問題(What?) 解讀Execution Plan 效能調校 (80/20) Index 調整 重寫SQL 測試環境 Database: RADARNT01/TR_TSIB 在職教育訓練檔: TR_081_M (58,218) 報名紀錄檔:TR_082_M (701,486) 前置準備~系統設定 前置準備~資訊蒐集 Original SQL INSERT INTO ##TEMPCATGY(DEPCOD,CATGY_NAME,TTL_NUM) SELECT B.EMP_DEPT_COD,CATGY_NAME,COUNT(B.ID_NO) FROM TR_081_M A ,TR_082_M B ,HR_TSIB..HRM201 C ,TR_010_C D ,TR_011_C E WHERE A.DEPT_COD=B.DEPT_COD AND A.OJT_COD=B.OJT_COD AND B.ID_NO=C.IDNO AND A.CATGY_KND*=D.CATGY_KND AND A.SUBCATGY_KND*=E.SUBCATGY_KND AND START_DATE=920701 AND START_DATE=920731 and (ISNULL(C.FRTDTE,0)0 and C.FRTDTE=920731 ) and (C.QUTDTE920731 or ISNULL(C.QUTDTE,0)=0) and ((C.RSVSDT920731 or ISNULL(C.RSVSDT,0)=0) or (ISNULL(C.RSVSDT,0)0 and C.RTNDTE=920731 and ISNULL(C.RTNDTE,0)0 and ISNULL(C.RTNDTE,0)ISNULL(C.RSVSDT,0))) GROUP BY B.EMP_DEPT_COD,CATGY_NAME ORDER BY B.EMP_DEPT_COD Original SQL (Cont.) UPDATE ##TEMPCATGY SET TTL_HR=B.THR,TOT=B.TOT SELECT TTL_HR=B.THR,TOT=B.TOT FROM
您可能关注的文档
- 冲击电压的测量分析.ppt
- ch钢丝绳及索具分析.ppt
- 2015中考政治冲刺复习:第一节+关注社会变化+了解基本国情(2014中考链接+2015中考模拟实战演练)分析.ppt
- lat之电子电路课程设计分析.ppt
- 《不同等级城市的服务功能》LYL分析.ppt
- PDCA管理循环培训分析.ppt
- 产品质量前期策划和控制计划分析.ppt
- 表面积的变化分析.ppt
- 《勾股定理》应用定稿分析.ppt
- Matlab神经网络工具箱(GUI界面的使用方法)(看完)分析.ppt
- 2025-2030中国蒸汽眼罩行业深度调研及投资前景预测研究报告.docx
- 2025-2030中国蒸汽管干燥机(STD)行业市场现状供需分析及投资评估规划分析研究报告.docx
- 2025至2031年中国牛皮安全鞋行业投资前景及策略咨询研究报告.docx
- 2025-2030中国蒸汽箱行业市场现状供需分析及投资评估规划分析研究报告.docx
- 2025-2030中国蒸汽蒸发器行业市场发展趋势与前景展望战略研究报告.docx
- 2024至2030年中国聚氨酯发泡保温岩棉制品行业投资前景及策略咨询研究报告.docx
- 电工特种作业操作证《低电压电工作业题必看题库知识点》模拟卷.doc
- 2025-2030中国蒸汽蒸发器行业市场现状供需分析及投资评估规划分析研究报告.docx
- 2025-2030中国蒸汽蓄能器行业市场发展趋势与前景展望战略分析研究报告.docx
- 2023年高中生的读书心得体会.pdf
文档评论(0)