提公升查詢速度的MySQL注意事項

2021-09-27 03:59:26 字數 942 閱讀 2186

1:不要在where子句中的『=』左邊進行函式、算數運算或其他表示式運算,否則系統將可能

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

3:應盡量避免在where子句中對字段進行null值判斷,否則將導致引擎放棄使用索引而進行全表掃瞄,如:

select id from t where num is null

可以再num上設定預設值為0,確保表中num列沒有null值,然後這樣查詢:

select id from t where num=0

4:盡量避免在where子句中使用or來連線條件,否則將導致引擎放棄使用索引而進行全表掃瞄,如:

select id from t where num=10 or num=20

可以這樣查詢

select id from t where num=10

union all

select id from t where num=20

5:下面的查詢也將導致全表掃瞄:(不能前置百分號)

select id from t where name like 『%c%』

若要提高效率,可以考慮全文搜尋

6:in和not in也要慎用,否則會導致全表掃瞄,如:

select id from t where num in (1,2,3)

對於連續的數值,能用between就不要用in了

select id from t where num between 1 and 3

7:查詢某個字段值不為空

!=『 『和is not null的區別

select * from table where a is not null會把有內容的和內容為空的都查出來

select * from table a != ''只會把有內容的查出來

null與0、空字串、空格都不同

如何將你的 MySQL 查詢速度提公升 300 倍

在進行效能分析前,需要先定位耗時查詢。mysql提供了內建的耗時查詢日誌。使用前,開啟my.cnf檔案,將slow query log設定為 on 同時將long query time設定為乙個對一次查詢來說比較慢的時間 秒數 比如0.2。slow query log file設定為你想儲存日誌檔案...

如何將你的 MySQL 查詢速度提公升 300 倍

在進行效能分析前,需要先定位耗時查詢。mysql提供了內建的耗時查詢日誌。使用前,開啟 my.cnf 檔案,將 slow query log 設定為 on 同時將 long query time 設定為乙個對一次查詢來說比較慢的時間 秒數 比如0.2。slow query log file 設定為你...

MySQL索引對資料庫查詢速度的顯著提公升

博主最近有乙個資料庫,它的大小是這樣的 然後博主執行了一條查詢語句select from stock test wherecode 000514 anddate 2016 03 31 查詢的結果是 可以看到,查詢這一條資料所花費的時間就用了8秒左右,如果要對所有的資料進行分析,那不是得等到猴年馬月去...