常見的SQL優化面試題

2021-09-25 11:40:50 字數 1138 閱讀 5486

1.在表中建立索引,優先考慮 where group by 使用到的字段

2.查詢時盡量避免使用select * ,只查詢需要用到的字段

3.避免在where子句中使用關鍵字兩邊都是%的模糊查詢,盡量在關鍵字後使用模糊查詢

4.盡量避免在where子句中使用in 和not in

優化:能使用between就不用in

在子查詢中使用exists 子句

5.盡量避免使用or,優化:可以用union代替or

6.盡量避免在where子句中使用表示式操作

7.盡量避免在where子句中使用null判斷,優化:給字段新增預設值,對預設值判斷

8.盡量不要在where條件中等號的左側進行表示式.函式操作

9.盡量避免使用where 1=1,優化:用**拼接sql,需要where的地方加where,需要and的地方加and

10.盡量避免大事務操作,提高併發能力

11.乙個表中的索引最好不要超過6個

12.應盡量避免在where子句中使用 != 或 <>

13.在使用索引字段作為條件時,如果該索引是復合索引,那麼必須使用到該索引中的第乙個

字段作為條件時才能保證系統使用該索引,否則該索引將不會被使用,並且應盡可能的讓字

段順序與索引順序相一致。

14.update 語句,如果只更改1、2個字段,不要update全部字段,否則頻繁呼叫會引起明顯

的效能消耗,同時帶來大量日誌。

15.對於多張大資料量(這裡幾百條就算大了)的表join,要先分頁再join,否則邏輯讀會

很高,效能很差。

16.盡量使用數字型字段,若只含數值資訊的字段盡量不要設計為字元型,這會降低查詢和連

接的效能,並會增加儲存開銷。這是因為引擎在處理查詢和連 接時會逐個比較字串中每一

個字元,而對於數字型而言只需要比較一次就夠了。

17.盡量避免使用游標,因為游標的效率較差,如果游標操作的資料超過1萬行,那麼就應該

考慮改寫。游標的乙個常見用途就是儲存查詢結果,以便以後使用。游標的結果集是由select語句產

生,如果處理過程需要重複使用乙個記錄集,那麼建立一次游標而重複使用若干次,比重複

查詢資料庫要快的多。

18.盡量避免向客戶端返回大資料量,若資料量過大,應該考慮相應需求是否合理。

常見的SQL優化面試題

1.在表中建立索引,優先考慮where.group by使用到的字段。2.查詢條件中,一定不要使用select 因為會返回過多無用的字段會降低查詢效率。應該使用具體的字段代替 只返回使用到的字段。3.不要在where條件中使用左右兩邊都是 的like模糊查詢,如 select from t orde...

SQL優化 面試題

因為現在面試經常需要問的需要sql優化,問的具體操作步驟時候的常見做法,所以網上總結這些操作步驟 sql優化的具體操作 1 在表中建立索引,優先考慮where group by使用到的字段。2 盡量避免使用select 返回無用的字段會降低查詢效率。如下 select from t 優化方式 使用具...

sql優化和索引常見的面試題 面試總結

1.什麼是索引 索引指資料庫的目錄,比如 字典上面的字母目錄 適用於大資料量 2.建立索引的優缺點 優點 查詢速度快 缺點 增刪改慢,因為資料庫要同步去維護索引檔案,所以速度慢 3.索引有哪些 普通 主鍵 唯一 組合 4.索引檢索為什麼快 索引結構 b tree 5.一般你們會在什麼情況下加索引 1...