SQL

1 列舉至少3個Mysql的具體優化?

參考文獻:小米和京東的4道關於Dubbo、Zookeeper等的面試題
(1)適當的對錶裏的字段建立索引

索引是提高數據庫性能的常用方法,它可以令數據庫服務器以比沒有索引快得多的速度檢索特定的行。但是索引不能隨便建立,具體建立索引的地方,建議如下:

1)查詢語句當中包含有MAX(),MIN()和ORDERBY這些命令的時候。

2)用於JOIN,WHERE判斷和ORDERBY排序的字段上。

3)儘量不要對數據庫中某個含有大量重複的值的字段建立索引,比如如果這個字段是性別的枚舉值。

(2)使用聯合(UNION)來代替手動創建的臨時表

union查詢,它可以把需要使用臨時表的兩條或更多的select查詢合併的一個查詢中。在客戶端的查詢會話結束的時候,臨時表會被自動刪除,從而保證數據庫整齊、高效。

在客戶端的查詢會話結束的時候,臨時表會被自動刪除,從而保證數據庫整齊、高效。
(3)針對select查詢語句進行優化

1)在建有索引的字段上儘量不要使用函數進行操作

例如:在一個DATE類型的字段上使用week()函數時,將會使索引不能發揮應有的作用。

2)儘量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章