sql语句优化 mysql_Mysql的Sql语句优化
在Mysql中执行Sql语句经常会遇到有的语句执行时间特别长的情况,出现了这种情况我们就需要静下心分析分析。
首先,我们需要确定系统中哪些语句执行时间比较长。这个可以使用Mysql的慢日志来跟踪。下面给出一段SQL示例:
首先准备一个数据库,这里有现成的数据:
数据准备好了,我们先看下mysql中关于慢日志的系统变量(慢日志默认是没有开启的,而我这里已经开启了)
show like 'slow%'

如果看到是OFF,那就需要手动开启
set = ON;
再看下当前将超过多少时间的sql作为慢日志
show like 'long%';

我这里目前是1s,可以设置:set = 0.1;
最后看下当前记录的慢日志次数:
show like '%%';
我这里当前已经执行了3次慢查询
好啦,前期工作准备好了,接下来我们可以执行一条语句了:
* from order by , area;

这条语句执行了1.745s,已经达到了慢查询的标准,应该被记录下来mysql sql语句优化工具,所以我们查看一下状态变量
已经变成了4mysql sql语句优化工具,说明该条语句确实被记录了下来,那么我们去看下慢查询语句所在的文件

在这个路径下面


可以看到这里就是我们刚才执行那条语句,可以看到真实执行的时间是1.。
到这一步,我们定位了慢SQL,接下来就是对SQL语句进行分析了。有经验人看几眼SQL可能就知道问题在哪儿了,
我做不到。。。。我一般采用分段分析和用命令来分析。
对刚才那条语句使用:
* from order by , area;

这条命令返回的特别快,因为它并不会去执行SQL语句,只是分析语法优化器最终会采用什么策略来执行SQL语句。
这里面可以看到该条SQL有没有走索引,用的什么来排序,用了那个索引等等sql语句优化 mysql_Mysql的Sql语句优化,具体可以参考其他博文mysql sql语句优化工具,我就没必要再贴出来了
优化的原则是查询要尽量走索引,避免过多的回表和全表扫描的发生;尽量不要用*号,尽量带上where条件。
以上是一篇很简单的关于分析慢SQL的文章sql语句优化 mysql_Mysql的Sql语句优化,感谢各位阅读。
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » sql语句优化 mysql_Mysql的Sql语句优化
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码

