Mysql慢查询
来源:互联网 发布:淘宝云客服平台 编辑:程序博客网 时间:2024/06/07 00:51
1、查看慢查询日志是否开启:show variables like ‘slow%’;
slow_launch_time:查询超过时间才记录,show_launch_time=2,表示查询超过2s才记录日志
slow_query_log:ON表示开启,OFF表示关闭
show_query_log_file:慢查询记录日志存放位置
2、开启慢查询日志:set global slow_query_log = ON;(需要root权限)
3、查询long_query_time 的值:show variables like ‘long%’;
4、设置慢查询时间:set global long_query_time = 1;(记录执行时间超过 1 秒的查询)
这部分是关于索引和写SQL语句时应当注意的一些琐碎建议和注意点。
当结果集只有一行数据时使用LIMIT 1
避免SELECT *,始终指定你需要的列。从表中读取越多的数据,查询会变得更慢。他增加了磁盘需要操作的时间,还是在数据库服务器与WEB服务器是独立分开的情况下。你将会经历非常漫长的网络延迟,仅仅是因为数据不必要的在服务器之间传输。
使用连接(JOIN)来代替子查询(Sub-Queries)。连接(JOIN).. 之所以更有效率一些,是因为MySQL不需要在内存中创建临时表来完成这个逻辑上的需要两个步骤的查询工作。
使用ENUM、CHAR 而不是VARCHAR,使用合理的字段属性长度
尽可能的使用NOT NULL
固定长度的表会更快
拆分大的DELETE 或INSERT 语句
查询的列越小越快
Where条件
在查询中,WHERE条件也是一个比较重要的因素,尽量少并且是合理的where条件是很重要的,尽量在多个条件的时候,把会提取尽量少数据量的条件放在前面,减少后一个where条件的查询时间。
有些where条件会导致索引无效:
Ø where子句的查询条件里有!=,MySQL将无法使用索引。
Ø where子句使用了Mysql函数的时候,索引将无效,比如:select * from tb where left(name, 4) = ‘xxx’
Ø 使用LIKE进行搜索匹配的时候,这样索引是有效的:select * from tbl1 where name like ‘xxx%’,而like ‘%xxx%’ 时索引无效
- mysql 慢查询分析
- mysql 慢查询
- mysql 查询慢分析
- mysql慢查询设置
- mysql 慢查询分析
- mysql 开启慢查询
- MYSQL - 慢查询日志
- MySQL慢查询
- mysql 慢查询
- MySQL开启慢查询
- mysql慢查询
- mysql慢查询设置
- Mysql 慢查询监听
- mysql 慢查询日志
- 开启Mysql 慢查询
- mysql 慢查询配置
- mysql慢查询
- Mysql 慢查询
- Socket服务端和客户端通信
- 常用排序算法总结(简单数组实现,其他类似)----- C语言
- git branch用法总结
- spring整合quartz时提示表或视图不存在错误解决方法
- 关于NTP漏洞
- Mysql慢查询
- iframe子页面让父页面进行重定向
- 蛇形三角
- c++如何自动生成变量名
- contentprovider的示例代码
- C++ char*,const char*,string的相互转换
- 【Unity】射线中LayerMask参数的使用方式
- 创建一个大小为400*400的三通道的RGB图像。将它的全部元素置0.使用指针算法将以(100,100)与(300,300)为项点绘制一个绿色的矩形。
- 运行Scala应用 Main方法