注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫(kù)SQL SeverDB2 SQL性能調(diào)優(yōu)秘笈

DB2 SQL性能調(diào)優(yōu)秘笈

DB2 SQL性能調(diào)優(yōu)秘笈

定 價(jià):¥39.00

作 者: Tony Andrews
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787111425021 出版時(shí)間: 2013-06-01 包裝: 平裝
開(kāi)本: 16 頁(yè)數(shù): 86 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《DB2 SQL性能調(diào)優(yōu)秘笈》是一本不可多得的DB2數(shù)據(jù)庫(kù)性能調(diào)優(yōu)秘笈,由擁有20余年DB2工作經(jīng)驗(yàn)的資深數(shù)據(jù)庫(kù)專(zhuān)家撰寫(xiě),Amazon全五星評(píng)價(jià)暢銷(xiāo)書(shū)。本書(shū)不僅詳盡闡述了100余條SQL語(yǔ)句優(yōu)化的技巧和最佳實(shí)踐、編寫(xiě)高性能SQL語(yǔ)句的標(biāo)準(zhǔn)和原則,以及DB2數(shù)據(jù)庫(kù)性能優(yōu)化的“15步法”,而且還包含大量案例,為解決各種復(fù)雜的DB2性能問(wèn)題提供了解決方案?!禗B2 SQL性能調(diào)優(yōu)秘笈》共7章:第1章總結(jié)了116條優(yōu)化SQL語(yǔ)句的技巧和最佳實(shí)踐;第2章講解了 SQL語(yǔ)句中提示的編寫(xiě)方法和技巧;第3章講解了編寫(xiě)高質(zhì)量SQL語(yǔ)句需要遵守的SQL標(biāo)準(zhǔn)和原則;第4章介紹了SQL程序走查;第5章用2個(gè)實(shí)例介紹了如何檢查存在性;第6章介紹了Runstats,用來(lái)得到一些統(tǒng)計(jì)信息;第7章講解了DB2性能優(yōu)化的“15步調(diào)優(yōu)法”,被譽(yù)為DB2性能調(diào)優(yōu)領(lǐng)域的無(wú)價(jià)之寶,適用于各種情況下的性能調(diào)優(yōu)問(wèn)題。本書(shū)最后還有2個(gè)附錄,分別介紹了謂詞的重寫(xiě)示例和DB2 SQL中的術(shù)語(yǔ)。

作者簡(jiǎn)介

  TonyAndrews 資深DB2數(shù)據(jù)庫(kù)專(zhuān)家和培訓(xùn)導(dǎo)師,在DB2數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)領(lǐng)域摸爬滾打20余年,是DB2領(lǐng)域的權(quán)威,實(shí)踐經(jīng)驗(yàn)極為豐富。Tony專(zhuān)注于DB2數(shù)據(jù)庫(kù)分析和性能調(diào)優(yōu),主要為一些財(cái)富500強(qiáng)公司和政府機(jī)構(gòu)提供開(kāi)發(fā)和咨詢(xún)服務(wù)。在過(guò)去10年中,他把主要精力都放在了咨詢(xún)和培訓(xùn)上,致力于為開(kāi)發(fā)人員提供數(shù)據(jù)庫(kù)設(shè)計(jì)與開(kāi)發(fā)方面的指導(dǎo),尤其是如何改善DB2數(shù)據(jù)庫(kù)的性能。Tony是IBM的金牌作者,經(jīng)常在行業(yè)會(huì)議和當(dāng)?shù)赜脩?hù)組發(fā)表演講,你可能在IDUG NA和EMEA上見(jiàn)過(guò)他,他的“Top 25+Tuning Tips for Developers”演講稿讓他聞名于世。Tony的網(wǎng)站:www.db2sqltuningtips.com;Twitter:www.twitter.com/tonyandrews12。

圖書(shū)目錄

目  錄
譯者序
前言
第1章 SQL優(yōu)化技巧寶典100+ 1
1. 去除在謂詞列上編寫(xiě)的任何標(biāo)量函數(shù) 3
2. 去除在謂詞列上編寫(xiě)的任何數(shù)學(xué)運(yùn)算 4
3. SQL語(yǔ)句的Select部分只寫(xiě)必要的列 4
4. 盡可能不用Distinct 5
5. 盡量將In子查詢(xún)重寫(xiě)為Exists子查詢(xún) 7
6.確保宿主變量定義為與列數(shù)據(jù)類(lèi)型匹配 7
7. 由于優(yōu)化工具處理“或”邏輯可能有問(wèn)題,所以盡量采用其他方式重寫(xiě) 8
8. 確保所處理的表中數(shù)據(jù)分布和其他統(tǒng)計(jì)信息正確并反映當(dāng)前狀況 9
9. 盡可能用UNION ALL取代UNION 11
10. 考慮使用硬編碼還是使用宿主變量 12
11. 盡可能減少DB2的SQL請(qǐng)求 13
12. 盡量將區(qū)間謂詞重寫(xiě)為Between謂詞 15
13. 考慮使用全局臨時(shí)表 16
14. 優(yōu)先使用Stage 1謂詞而不是Stage 2謂詞 18
15. 記住(某些)謂詞的順序很重要 20
16. 多個(gè)子查詢(xún)排序 21
17. 索引關(guān)聯(lián)子查詢(xún) 22
18. 了解DB2 Explain工具 23
19. 使用工具進(jìn)行監(jiān)控 24
20. 采用提交和重啟策略 24
21. 實(shí)現(xiàn)優(yōu)良的索引設(shè)計(jì) 25
22. 避免與非列表達(dá)式不一致 26
23. 所有篩選邏輯放在應(yīng)用代碼之外 27
24. 確保涉及Min和Max的子查詢(xún)謂詞要處理可能返回Null的情況 28
25. 如果查詢(xún)只選擇數(shù)據(jù),一定要把游標(biāo)處理寫(xiě)為For Fetch Only(只獲?。┗騀or Read Only(只讀) 29
26. 避免只是為了幫助確定代碼邏輯應(yīng)當(dāng)執(zhí)行更新還是插入而從表中選擇一行 30
27. 避免只是為了得到更新值而從表中選擇一行 31
28. 利用動(dòng)態(tài)SQL語(yǔ)句緩存 31
29. 避免使用Select * 32
30. 當(dāng)心可以為Null的列,還要當(dāng)心SQL語(yǔ)句可能從數(shù)據(jù)庫(kù)管理器返回Null 33
31. 盡量減少執(zhí)行打開(kāi)和關(guān)閉游標(biāo)的次數(shù) 34
32. SQL中要避免非邏輯 34
33. 使用關(guān)聯(lián)ID來(lái)保證更好的可讀性 35
34. 保證表和索引文件合法而且有組織 36
35. 充分利用Update Where Current of Cursor和Delete Where Current of Cursor 36
36. 使用游標(biāo)時(shí),利用多行獲取、多行更新和多行插入來(lái)使用ROWSET定位和獲取 37
37. 了解鎖定隔離級(jí)別 38
38. 了解Null處理 40
39. 編程時(shí)要考慮性能 42
40.讓SQL來(lái)處理 42
41.使用Lock Table 43
42. 考慮OLTP前端處理 44
43. 考慮使用動(dòng)態(tài)可滾動(dòng)游標(biāo) 45
44. 利用物化查詢(xún)表改善響應(yīng)時(shí)間(只適用動(dòng)態(tài)SQL) 47
45. 結(jié)合Select的Insert  49
46. 充分利用多行獲取 50
47. 充分利用多行插入 52
48. 充分利用多行更新 53
49. 充分利用多行刪除 55
50.在Select子句中使用標(biāo)量全選 55
51. 在動(dòng)態(tài)SQL中充分利用REOPT ONCE和REOPT AUTO,在靜態(tài)SQL中充分利用REOPT VARS和REOPT ALWAYS 57
52. 標(biāo)識(shí)易失表 58
53. 使用ON COMMIT DROP改進(jìn) 59
54. 使用多個(gè)Distinct 60
55. 充分利用反向索引掃描 60
56. 當(dāng)心Like語(yǔ)句 61
57. 正確地設(shè)置聚簇索引 61
58. 必要時(shí)使用Group By表達(dá)式 63
59. 當(dāng)心表空間掃描 64
60. 不要問(wèn)你已經(jīng)知道的信息 64
61. 注意查詢(xún)中的表順序 65
62. 使用左外聯(lián)接而不是右外聯(lián)接 66
63. 檢查不存在的行 67
64. 使用存儲(chǔ)過(guò)程 68
65. 不要只是為了排序而選擇某一列 70
66. 盡可能限制結(jié)果集 70
67. 批量刪除時(shí)充分利用DB2 V8的改進(jìn)DISCARD功能 70
68. 充分利用DB2 LOAD工具完成批量插入 71
69. 注意視圖、嵌套表表達(dá)式和公共表表達(dá)式的物化 72
70. 考慮壓縮數(shù)據(jù) 74
71. 考慮并行性 75
72. 讓STDDEV、STDDEV_SAMP、VAR和VAR_SAMP函數(shù)遠(yuǎn)離其他函數(shù) 76
73. 考慮使用ROWID數(shù)據(jù)類(lèi)型(V8)或RID函數(shù)(V9)直接訪(fǎng)問(wèn)行 77
74. 用真實(shí)統(tǒng)計(jì)和一定的數(shù)據(jù)測(cè)試查詢(xún)以反映性能問(wèn)題 78
75. 在WHERE子句中指定前導(dǎo)索引列 80
76. 盡可能使用WHERE而不是HAVING完成篩選 81
77. 盡可能考慮Index Only處理 82
78. DB2 V9中表達(dá)式上的索引  83
79. 考慮DB2 V9 Truncate語(yǔ)句 84
80. 在子查詢(xún)中使用DB2 V9 Fetch First和Order by 85
81. 利用DB2 V9樂(lè)觀(guān)鎖定 85
82. 使用DB2 V9 MERGE語(yǔ)句 87
83. 了解DB2 NOFOR預(yù)編譯選項(xiàng) 89
84. 考慮Select Into中使用Order By 89
85. 盡量編寫(xiě)布爾項(xiàng)謂詞 90
86. 編寫(xiě)傳遞閉包 90
87. 避免用Order By排序 91
88. 盡可能使用聯(lián)接而不是子查詢(xún) 92
89. 當(dāng)心Case邏輯 92
90. 在Order By子句中充分利用函數(shù) 93
91. 了解你的DB2版本 93
92. 了解日期運(yùn)算 94
93. 了解大容量插入選擇 95
94. 了解Skip Locked Data(V9)避免鎖定 96
95. 對(duì)輸入流排序 97
96. 如果需要真正的唯一性,可以使用V8 Generate_Unique函數(shù) 98
97. 了解聲明臨時(shí)表的新選項(xiàng) 98
98. 執(zhí)行Get Diagnostics時(shí)需要注意 99
99. 適當(dāng)?shù)貙?duì)In列表排序 100
100. 結(jié)合Select的Update和Delete(V9) 100
101. 只在必要時(shí)執(zhí)行SQL語(yǔ)句 101
102. 充分利用內(nèi)存中的表 101
103. 避開(kāi)通用型SQL語(yǔ)句 102
104. 避免不必要的排序 102
105. 了解表達(dá)式和列函數(shù) 103
106. 結(jié)合使用謂詞時(shí)要注意 103
107. 為搜索查詢(xún)?cè)黾尤哂嘀^詞 103
108. 充分利用改進(jìn)的動(dòng)態(tài)緩存(V10) 104
109. 嘗試當(dāng)前提交來(lái)避免鎖(V10) 106
110. 嘗試使用系統(tǒng)時(shí)態(tài)表獲取歷史數(shù)據(jù)(V10) 107
111. 嘗試使用業(yè)務(wù)時(shí)態(tài)表獲取歷史數(shù)據(jù)(V10) 109
112. 了解分級(jí)函數(shù) (V10) 110
113. 充分利用擴(kuò)展指示符(V10) 112
114. 得到更大的時(shí)間戳精度(V10) 113
115. 嘗試Index Includes(V10) 114
116. 使用With Return to Client(V10) 114
第2章 DB2 SQL提示 116
1. 在SQL語(yǔ)句的最后使用Optimize for 1 Row語(yǔ)句 117
2. 為SQL查詢(xún)?cè)黾覣.PKEY = A.PKEY謂詞,這里PKEY等于表的主鍵列 118
3. 更換索引選擇 119
4. 改變表處理順序 121
5. 使用分布式動(dòng)態(tài)SQL 122
第3章 SQL標(biāo)準(zhǔn)和原則 125
面向COBOL開(kāi)發(fā)人員 125
面向所有SQL開(kāi)發(fā)人員 129
第4章 SQL程序走查 135
第5章 檢查存在性 139
例1 139
例2 141
第6章 Runstats 143
第7章 查詢(xún)初始調(diào)優(yōu)步驟 146
附錄A 謂詞重寫(xiě)示例 150
附錄B DB2 SQL術(shù)語(yǔ) 153

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)