其他强制操作,优先操作如下:
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;
新闻热点
疑难解答