SQL優化的一點點建議

2021-08-27 08:33:26 字數 2334 閱讀 3953

我們知道,不管是哪種資料庫,或者是哪種資料庫引擎,在對一條sql語句進行執行的過程中都會做很多相關的優化,對於查詢語句,最重要的優化方式就是使用索引。

table

如果查詢使用了別名,那麼這裡顯示的是別名,如果不涉及對資料表的操作,那麼這顯示為null,如果顯示為尖括號括起來的就表示這個是臨時表,後邊的n就是執行計畫中的id,表示結果來自於這個查詢產生。如果是尖括號括起來的< union m,n >,與< derived n >類似,也是乙個臨時表,表示這個結果來自於union查詢的id為m,n的結果集。

type

訪問型別

all 掃瞄全表資料

index 遍歷索引

range 索引範圍查詢

index_subquery 在子查詢中使用 ref

unique_subquery 在子查詢中使用 eq_ref

ref_or_null 對null進行索引的優化的 ref

fulltext 使用全文索引

ref 使用非唯一索引查詢資料

eq_ref 在join查詢中使用primary keyorunique not null索引關聯。

const 使用主鍵或者唯一索引,且匹配的結果只有一條記錄。

system const 連線型別的特例,查詢的表為系統表。

extra

extra的資訊非常豐富,常見的有:

using index 使用覆蓋索引

using where 使用了用where子句來過濾結果集

using filesort 使用檔案排序,使用非索引列進行排序時出現,非常消耗效能,盡量優化。

using temporary 使用了臨時表。

select id from

table

where username like 『%hollis%』

4.盡量避免使用!=或<>操作符

在where語句中使用!=或<>,引擎將放棄使用索引而進行全表掃瞄。
可以使用

select id from t where num=10

union

allselect id from t where num=20

替代select id from t where num=10

or num=20

6.盡量避免使用in和not in

在 where 子句中使用 in和not in,引擎將放棄使用索引而進行全表掃瞄。

select id

from t where num between

10and

20替代

select id

from t where num in (10,20)

7.可以考慮強制查詢使用索引

select * from

table force index(pri) limit 2;(強制使用主鍵)

select * from

table force index(hollis_index) limit 2;(強制使用索引"hollis_index")

select * from

table force index(pri,hollis_index) limit 2;(強制使用索引"pri和hollis_index")

8、盡量避免使用表示式、函式等操作作為查詢條件

9、盡量避免大事務操作,提高系統併發能力。

10、盡量避免使用游標

11、任何地方都不要使用 select * from t ,用具體的字段列表代替「*」,不要返回用不到的任何字段。

12、盡可能的使用 varchar/nvarchar 代替 char/nchar

13、盡量使用數字型字段,若只含數值資訊的字段盡量不要設計為字元型,這會降低查詢和連線的效能,並會增加儲存開銷。

14、索引並不是越多越好,索引固然可以提高相應的 select 的效率,但同時也降低了 insert 及 update 的效率

15、並不是所有索引對查詢都有效,sql是根據表中資料來進行查詢優化的,當索引列有大量資料重複時,sql查詢可能不會去利用索引

給SEO的一點點建議

做seo有一段時間了,於是想來談談交流這碼子事。有很多的seo群,推廣群,營銷群,友情鏈結群。這些群在我眼裡都是seo群。我做了大部分的seo工作,這些群全部需要接觸,需要與很多人進行交流。為什麼要在裡面交流?很簡單,說的文藝點是能碰撞出思想的火花,說的白話點就是從他人那裡學到東西,說的再自私點,就...

深度學習的一點點一點點知識

我們手裡有大量的x和y,求權重訓練的是權重資料樣本 xwy 身高0體重0 血型0.3 腳指頭0.8 一組x計算出對應的乙個y 計算過程是w 下面的就是最基礎的公式 我們已知資料是大量的x和y 希望通過 西塔 來獲得w 我們的學習才剛剛開始,首先需要理解的是與門 x1x2y0 0001 0100 11...

一點點感想

寫在這喧囂與寂寞的世界 今天我與chen在風初停的早上跑去借書,借了安妮的 清醒記 兩本三毛的書和一本yilan的旅行與味蕾的書。從圖書館出來,風似乎有些冷,想到又要到那陰冷的梅花館坐在又涼又硬的椅子上上一節乏味的數學課我們便都不約而同的想到了逃課。帶著心裡的負罪感我們躲進八食取暖。無意中我們嘗到了...