MYSQL中常用的强制性操作
MYSQL中常用的强制性操作
MYSQL中常用的强制性操作一、FORCE INDEX (强制索引)
用于强制在指定列上使用索引
SELECT * FROM TABLE1 FORCE INDEX (FIELD1) …
--只使用建立在FIELD1上的索引,而不使用其它字段上的索引
二、IGNORE INDEX (忽略索引)
用于强制在指定列上不使用索引
SELECT * FROM TABLE1 IGNORE INDEX (FIELD1, FIELD2) …
--TABLE1表中FIELD1和FIELD2上的索引不被使用。
三、SQL_NO_CACHE (关闭查询缓冲)
有一些SQL语句需要实时地查询数据,或者并不经常使用(可能一天就执行一两次),这样就需要把缓冲关了,不管这条SQL语句是否被执行过,服务器都不会在缓冲区中查找,每次都会执行它。
SELECT SQL_NO_CACHE field1, field2 FROM TABLE1;
四、SQL_CACHE (强制查询缓冲)
如果在my.ini中的query_cache_type设成2,这样只有在使用了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,是客户端提交数据给MySQL,MySQL返回OK状态给客户端。而这时并不是已经将数据插入表,而是存储在内存里面等待排队。当MySQL有空余时,再插入。
INSERT DELAYED INTO table1 set field1= …
缺点
1、不能返回自动递增的ID。
2、系统崩溃时,MySQL还没有来得及插入数据的话,这些数据将会丢失。
八、STRAIGHT_JOIN (强制连接顺序)
SELECT TABLE1.FIELD1, TABLE2.FIELD2 FROM TABLE1 STRAIGHT_JOIN TABLE2 WHERE …
--通过STRAIGHT_JOIN强迫MySQL按TABLE1、TABLE2的顺序连接表。
--如果你认为按自己的顺序比MySQL推荐的顺序进行连接的效率高的话,就可以通过STRAIGHT_JOIN来确定连接顺序。
九、SQL_BUFFER_RESULT(强制连接顺序)
当我们查询的结果集中的数据比较多时,可以通过SQL_BUFFER_RESULT.选项强制将结果集放到临时表中,这样就可以很快地释放MySQL的表锁(这样其它的SQL语句就可以对这些记录进行查询了)。
SELECT SQL_BUFFER_RESULT * FROM TABLE1 WHERE …
十、SQL_BIG_RESULT和SQL_SMALL_RESULT(分组使用临时表)
一般用于分组或DISTINCT关键字,这个选项通知MySQL,如果有必要,就将查询结果放到临时表中,甚至在临时表中进行排序。
SELECT SQL_BUFFER_RESULT FIELD1, COUNT(*) FROM TABLE1 GROUP BY FIELD1;
- mysql快速创建索引(MySQL创建高性能索引的全步骤)
- mysql如何使用临时表(MySQL中临时表的使用示例)
- mysql主从配置教程(MySQL大库搭建主从的一种思路分享)
- mysql不兼容问题(解决mysql 组合AND和OR带来的问题)
- mysql的事务隔离级别怎么实现(mysql、oracle默认事务隔离级别的说明)
- mysql中如何进行模糊查询(MySQL模糊查询用法大全正则、通配符、内置函数)
- mysql乐观锁一定比悲观锁性能高(mysql居然还能实现分布式锁的方法)
- mysql8.0.12安装教程图解(MySql8.023安装过程图文详解首次安装)
- 在mysql语法中用来修改数据的命令(explain命令为什么可能会修改MySQL数据)
- mysql数据库基本增删改查基本语句(MySQL表的增删改查基础教程)
- MySQL中NULL和空值的区别
- MySQL中ROUND四舍五入函数需要注意的地方
- 如何查看mysql执行计划(到底什么是Mysql执行计划?)
- MySql开启远程连接
- mysql中null的用法(为什么mysql字段要使用NOT NULL)
- mysql xml转换json(Mysql将查询结果集转换为JSON数据的实例代码)
- 数学语文题目(语文的数学题)
- 香蕉(香蕉三种人不宜吃)
- 没钱可以快乐吗(没钱也能快乐吗)
- 快乐是什么(快乐就是)
- 东南亚有哪个国家(东南亚有哪个国家最发达)
- 东南亚安全吗(好不好挣钱)
热门推荐
- 云服务器租用应该注意哪些事项(高防云服务器租用的特点有哪些?)
- 阿里云服务器ecs的三大资源(阿里云服务器ECS入门级和企业级有什么区别?)
- mysql开启审计日志会导致性能下降(MySQL 一则慢日志监控误报的问题分析与解决)
- 云锁服务器怎么设置安全(SugarHosts云服务器如何开启访问端口和使用安全组)
- 宝塔waf防火墙怎么关闭(宝塔面板防火墙添加百度云加速IP段白名单)
- ssl服务器搭建的步骤(windows apache环境下部署SSL证书让网站支持https的配置方法)
- python抓取贴吧标题和图片代码(Python实现的爬取百度贴吧图片功能完整示例)
- vue实现聊天(Vue+ssh框架实现在线聊天)
- 闭包python讲解(详解Python循环作用域与闭包)
- nginx怎么实现反向代理(nginx反向代理时如何保持长连接)