資料庫SQL調優的幾種常見方式

2021-10-09 17:09:26 字數 1040 閱讀 3608

一、要盡量避免全表掃瞄,在表中建立索引,優先考慮where、group by使用到的字段

(1)在經常需要進行檢索的字段上建立索引,比如要按照表字段username進行檢索,那麼就應該在姓名欄位上建立索引,如果經常要按照員工部門和員工崗位級別進行檢索,那麼就應該在員工部門和員工崗位級別這兩個欄位上建立索引。

(2)建立索引給檢索帶來的效能提公升往往是巨大的,因此在發現檢索速度過慢的時候應該首先想到的就是建立索引。

(3)乙個表的索引數最好不要超過6個,若太多則應考慮一些不常使用到的列上建的索引是否有 必要。索引並不是越多越好,索引固然可以提高相應的 select 的效率,但同時也降低了 insert 及 update 的效率,因為 insert 或 update 時有可能會重建索引,所以怎樣建索引需要慎重考慮,視具體情況而定。

二、盡量避免使用select ,返回無用的字段會降低查詢效率,使用具體的字段代替,只返回使用到的字段

三、盡量避免使用in 和not in,會導致資料庫引擎放棄索引進行全表掃瞄,如果是連續數值,可以用between代替,如果是子查詢,可以用exists代替

四、盡量避免使用or,會導致資料庫引擎放棄索引進行全表掃瞄

五、盡量避免在字段開頭模糊查詢,會導致資料庫引擎放棄索引進行全表掃瞄,盡量在字段後面使用模糊查詢

六、盡量避免進行null值的判斷,會導致資料庫引擎放棄索引進行全表掃瞄,可以給字段新增預設值0,對0值進行判斷

七、盡量避免在where條件中等號的左側進行表示式、函式操作,會導致資料庫引擎放棄索引進行全表掃瞄,可以將表示式、函式操作移動到等號右側

八、當資料量大時,避免使用where 1=1的條件。通常為了方便拼裝查詢條件,我們會預設使用該條件,資料庫引擎會放棄索引進行全表掃瞄,拼裝sql時進行判斷,沒where加where,有where加and

SQL資料庫調優

sql調優的方法 1.1 減少資料的訪問 1 建立並使用正確的索引 2 只通過索引訪問資料 3 優化sql執行計畫 1.2 返回更少的資料 1 資料分頁處理 2 只返回需要的字段 1.3 減少互動的次數 1 batch dml 2 in list 3 設定fetch size 4 使用儲存過程 5 ...

資料庫 sql調優思路

經常都會被問到或者與遇到資料庫調優的問題,我的一般思路如下 1 首先是資料量,需不需要分庫分表 2 第二是需不需要使用快取技術,快取一些熱資料。3 第三是sql優化,如果sql太複雜了,那我一般會用到explain分析sql的執行計畫,優化sql 4 第四選擇索引 5 還有些讀寫分離 網路頻寬的東西...

資料庫調優

1 資料庫調優 計算機硬體調優 資料庫物件的放置策略 利用資料庫分割槽技術,均勻地把資料分布在系統的磁碟中,平衡i o 訪問,避免i o 瓶 頸 使用磁碟硬體優化資料庫 基本表設計優化 第三正規化的基本特徵 是非主鍵屬性只依賴於主鍵屬性。優點 一是能消除 冗餘資料 節省磁碟儲存空間 二是有良好的資料...