开发者社区> 问答> 正文

MySQL-SQl语句优化步骤

RT,在遇到一个运行很慢SQL的情况下,如何进行分析、优化、测试?
简单说明一下步骤思路;

展开
收起
我的中国 2016-03-23 20:14:57 2565 0
1 条回答
写回答
取消 提交回答
  • R&S网络资深工程师 ,阿里云论坛官方版主,阿里云云计算ACP,春考教学网站长,IT技术晋级之路专辑作者

    如果不知道是哪个sql慢,就开启mysql的慢查询日志。 对记录的日志文件用mysql安装目录下的bin目录下的 mysqldumpslow查看。 具体命令是 mysqldumpslow -s c -t 10 /path/to/slow.log。 可以提取出top10慢的sql语句模式。 这样就找到了哪些语句慢。

    找到之后分析的最简单手段是explain查看执行计划。 例如
    explain select * from t where xxx order by xxx。

    查看explain的结果,可以看出索引使用情况,排序方式等。具体的结果查看mysql官方文档中explain命令的解释最好了。

    优化的最主要手段是确保索引建立正确。 如果索引方面没什么可优化的空间,那么多半是表结构设计不合理,或者查询方式组合不合理。 这个就要结合具体的业务去进行数据存储结构或程序架构的优化了。

    2019-07-17 18:35:29
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载

相关镜像