其他強制操作,優先操作如下:
mysql常用的hint
對于經常使用oracle的朋友可能知道,oracle的hint功能種類很多,對于優化sql語句提供了很多方法。同樣,在mysql里,也有類似的hint功能。下面介紹一些常用的。
強制索引 FORCE INDEX
復制代碼 代碼如下:
SELECT * FROM TABLE1 FORCE INDEX (FIELD1) …
忽略索引 IGNORE INDEX
復制代碼 代碼如下:
SELECT * FROM TABLE1 IGNORE INDEX (FIELD1, FIELD2) …
關閉查詢緩沖 SQL_NO_CACHE
復制代碼 代碼如下:
SELECT SQL_NO_CACHE field1, field2 FROM TABLE1;
強制查詢緩沖 SQL_CACHE
復制代碼 代碼如下:
SELECT SQL_CALHE * FROM TABLE1;
優先操作 HIGH_PRIORITY
HIGH_PRIORITY可以使用在select和insert操作中,讓MYSQL知道,這個操作優先進行。
復制代碼 代碼如下:
SELECT HIGH_PRIORITY * FROM TABLE1;
滯后操作 LOW_PRIORITY
LOW_PRIORITY可以使用在insert和update操作中,讓mysql知道,這個操作滯后。
復制代碼 代碼如下:
update LOW_PRIORITY table1 set field1= where field1= …
延時插入 INSERT DELAYED
復制代碼 代碼如下:
INSERT DELAYED INTO table1 set field1= …
強制連接順序 STRAIGHT_JOIN
復制代碼 代碼如下:
SELECT TABLE1.FIELD1, TABLE2.FIELD2 FROM TABLE1 STRAIGHT_JOIN TABLE2 WHERE …
強制使用臨時表 SQL_BUFFER_RESULT
復制代碼 代碼如下:
SELECT SQL_BUFFER_RESULT * FROM TABLE1 WHERE …
分組使用臨時表 SQL_BIG_RESULT和SQL_SMALL_RESULT
復制代碼 代碼如下:
SELECT SQL_BUFFER_RESULT FIELD1, COUNT(*) FROM TABLE1 GROUP BY FIELD1;
新聞熱點
疑難解答