一、多個表根據共同點整合出特定列,通過只讀取此列,高效讀取,優化sql查詢
關係代數進行查詢優化的要點:
sql 查詢可以表示成關係代數
關係代數作為一種樹形的結構,實質上也可以表示查詢的物理實現方案流程
關係代數可以進行區域性的等價變換,變換前後返回的結果不變但執行的成本不同
通過尋找執行成本最低的關係代數表示,我們就可以將乙個 sql 查詢優化成更為高效的方案
實現關係代數的化簡和優化,依賴於資料系統的物理性質,如
儲存裝置的特性(順序讀效能如何?隨機讀效能如何?吞吐量如何)
儲存內容的格式和排列(列式儲存?行式儲存?是否以某列進行分片?)
包含的元資料和預計算結果(是否存在索引?是否存在物化檢視?)
聚合和計算單元的特性(單執行緒?併發計算?分布式計算?特殊加速硬體?)
內部變換,但外部介面需要保持一致性
基於成本的優化演算法volcano optimizer
動態規劃演算法與等價集合
廣度優先搜尋與啟發式演算法
查詢優化 SQL優化
查詢優化注意點 代表查詢速度比較 1 所有查詢必須注意 的使用必要性 cout 1 cout 2 字段 主鍵索引 字段 普通索引 字段 沒有索引 3 乙個字段 多個字段 欄位多越慢 4 大於10000和大於10001的區別 後者大於前者 5 列沒別名 列 有別名6 兩個條件,where時應該將符合資...
查詢優化 sql
查詢1 declare d datetime set d getdate select top 1000 from product where contains name,男上裝 or contains text,男上裝 select datediff ms,d,getdate set d getd...
優化sql查詢
如何寫出高效能的sql語句 執行計畫是資料庫根據sql語句和相關表的統計資訊坐出的乙個查詢方案,這個方案是由查詢優化器自動分析產生的,比如一條sql語句如果用來從乙個n條記錄中查詢其中一條,那查詢優化器會選擇 索引掃瞄 方式。該錶如果使用了歸檔,那查詢優化器就會改變方案,採用 全表掃瞄 方式。執行計...