mysql具體優化查詢語句

2021-07-22 03:30:43 字數 590 閱讀 5945

1)應盡量避免全表掃瞄。首先應考慮在where以及order by涉及的列上建立索引,相對於使用給定索引,全表掃瞄很耗時。

2)應盡量避免在where子句中對字段進行null值判斷,任何where子句在使用is null或 is not null 的語句優化器都是不允許使用損索引的

3)盡量避免在where子句中使用!= 或<>操作符,如果查詢條件中存在!=或者<>操作符時,mysql將無法使用索引而進行全表掃瞄

4)盡量避免在where子句中使用or連線條件。where語句中使用or,且沒有使用覆蓋索引,會進行全表掃瞄。

5)慎用in和not in,否則會導致全表掃瞄,盡量使用between代替in

6)如果在where子句中使用引數,也會導致全表掃瞄。

7)盡量避免在where子句中對字段進行表示式操作,這將導致mysql放棄使用索引

8)避免在where子句中對字段進行函式操作

9)索引字段不是復合索引的字首索引。

mysql在查詢時候只能使用乙個索引,所以如果where子句中使用了乙個索引,那麼order by裡面的索引就沒用了,這個時候就建議在把where裡面的字段和order by裡面的字段一起組合成乙個復合索引

MYSQL查詢語句優化

一 日期查詢優化 在mysql中速度最慢的不是in查詢,而是date format以及from unixtime兩個函式的日期時間轉換,執行時間可能超過兩秒,造成 巨卡 用php的函式代替mysql的函式來完成將會大大的縮減時間 今日 from unixtime lastplaytime,y m d...

MySQL查詢語句優化

想要對一條查詢語句進行優化,首先要對其進行分析,mysql提供了這個機制,可以通過explain sql或者desc sql的語法去獲取mysql對某一條語句的執行計畫 mysql優化之後的 explain的用法這裡就不再贅述了,在另外一篇文章中有詳細的解讀.對一條sql的優化可以分為兩部分,第一部...

MySQL查詢優化語句 explain

一 mysql 查詢優化器是如何工作的 mysql 查詢優化器有幾個目標,但是其中最主要的目標是盡可能地使用索引,並且使用最嚴格的索引來消除盡可能多的資料行。最終目標是提交 select 語句查詢資料行,而不是排除資料行。優化器試圖排除資料行的原因在於它排除資料行的速度越快,那麼找到與條件匹配的資料...