不少朋友將SQL語言藝術這本書推薦給有數據庫系統開發經驗的同學看,便附帶留言“有過實戰經驗的看此書可能收獲會更多一點”,SQL語言藝術這本書是作者十幾年下來的經驗談,相比理論的教材或者是數據庫開發的實例書,此書并不涉及明確教你如何做,而是有很多細節之處的考慮,這些都是作者在開發過程中遇到過的實際問題,可以說是作者的感悟。如果你和SQL的關系還是“熟悉的陌生人”,或許本書同樣會非常適合你。 本節內容東坡小編為大家推薦帶來的是一份pdf格式超清掃描版sql語言藝術中文電子書,想要查閱該書的朋友們歡迎前來下載查閱!
SQL語言藝術(中文版)目錄
前言
1 制定計劃:為性能而設計
數據的關系視圖
規范化的重要性
有值、無值、空值
限用Boolean型字段
理解子類型(Subtype)
約束應明確聲明
過于靈活的危險性
歷史數據的難題
設計與性能
處理流程
數據集中化(Centralizing)
系統復雜性
小結
2 發動戰爭:高效訪問數據庫
查詢的識別
保持數據庫連接穩定
戰略優先于戰術
先定義問題,再解決問題
保持數據庫Schema穩定
直接操作實際數據
用SQL處理集合
動作豐富的SQL語句
充分利用每次數據庫訪問
接近DBMS核心
只做必須做的
SQL語句反映業務邏輯
把邏輯放到查詢中
一次完成多個更新
慎用自定義函數
簡潔的SQL
SQL的進攻式編程
精明地使用異常(Exceptions)
3 戰術部署:建立索引
找到“切入點”
索引與目錄
讓索引發揮作用
函數和類型轉換對索引的影響
索引與外鍵
同一字段,多個索引
系統生成鍵
索引訪問的不同特點
4 機動靈活:思考SQL語句
SQL的本質
掌握SQL藝術的五大要素
過濾
5 了如指掌:理解物理實現
物理結構的類型
沖突的目標
把索引當成數據倉庫
記錄強制排序
數據自動分組(Grouping)
分區是雙刃劍
分區與數據分布
數據分區的最佳方法
預連接表
神圣的簡單性
6 錦囊妙計:認識經典SQL模式
小結果集,直接條件
小結果集,間接條件
多個寬泛條件的交集
多個間接寬泛條件的交集
大結果集
基于一個表的自連接
通過聚合獲得結果集
基于日期的簡單搜索或范圍搜索
結果集和別的數據存在與否有關
7 變換戰術:處理層次結構
小結果集,直接條件
小結果集,間接條件
多個寬泛條件的交集
多個間接寬泛條件的交集
大結果集
基于一個表的自連接
通過聚合獲得結果集
基于日期的簡單搜索或范圍搜索
結果集和別的數據存在與否有關
8 孰優孰劣:認識困難,處理困難
看似高效的查詢條件
抽象層
分布式系統
動態定義的搜索條件
9 多條戰線:處理并發
數據庫引擎作為服務提供者
并發修改數據
10 集中兵力:應付大數據量
增長的數據量
數據倉庫
11 精于計謀:挽救響應時間
數據的行列轉換
基于變量列表的查詢
基于范圍的聚合
一般規則,最后使用
查詢與列表中多個項目相符的記錄
最佳匹配查詢
優化器指令
12 明察秋毫:監控性能
數據庫速度緩慢
服務器負載因素
何謂“性能優良”
從業務任務角度思考
執行計劃
合理運用執行計劃
總結:影響性能的重要因素
Photo Credits
索引