位置: 编程技术 - 正文
推荐整理分享Mysql效率优化定位较低sql的两种方式(mysql优化总结),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:如何做 mysql 的性能优化,mysql速度优化,mysql如何优化性能,mysql 效率,mysql如何优化性能,mysql常用优化方案,mysql性能优化方法,mysql如何优化性能,内容如对您有帮助,希望把文章链接给更多的朋友!
关于mysql效率优化一般通过以下两种方式定位执行效率较低的sql语句。
通过慢查询日志定位那些执行效率较低的 SQL 语句,用 --log-slow-queries[=file_name] 选项启动时, mysqld 会 写一个包含所有执行时间超过 long_query_time 秒的 SQL 语句的日志文件,通过查看这个日志文件定位效率较低的 SQL 。
慢查询日志在查询结束以后才纪录,所以在应用反映执行效率出现问题的时候查询慢查询日志并不能定位问题,可以使用 show processlist 命令查看当前 MySQL 在进行的线程,包括线程的状态、是否锁表等,可以实时地查看 SQL 的 执行情况,同时对一些锁表操作进行优化。
下面我们举例说明一下,如何通过慢查询日志定位执行效率底的 SQL 语句:
开启慢查询日志 , 配置样例:
log-slow-queries
在 my.cnf 配置文件中增加上述配置项并重启 mysql 服务,这时 mysql 慢查询功能生效。慢查询 日志将写入参数 DATADIR (数据目录)指定的路径下,默认文件名是 host_name-slow.log 。
和错误日志、查询日志一样,慢查询日志记录的格式也是纯文本,可以被直接读取。下例中演示了慢查询日志的设置和读取过程。
( 1 )首先查询一下 long_query_time 的值 。
( 2 )为了方便测试,将修改慢查询时间为 5 秒。
mysql> set long_query_time=5;Query OK, 0 rows affected (0. sec)
( 3 )依次执行下面两个查询语句。
第一个查询因为查询时间低于 5 秒而不会出现在慢查询日志中:
第二个查询因为查询时间大于 5 秒而应该出现在慢查询日志中:
( 4 )查看慢查询日志。
从上面日志中,可以发现查询时间超过 5 秒的 SQL ,而小于 5 秒的则没有出现在此日志中。如果慢查询日志中记录内容很多,可以使用 mysqldumpslow 工具( MySQL 客户端安装自带)来对慢查询日志进行分类汇总。下例中对日志文件 mysql_master-slow.log 进行了分类汇总,只显示汇总后摘要结果:
对于 SQL 文本完全一致,只是变量不同的语句, mysqldumpslow 将会自动视为同一个语句进行统计,变量值用 N 来代替。这个统计结果将大大增加用户阅读慢查询日志的效率,并迅速定位系统的 SQL 瓶颈。
注意:慢查询日志对于我们发现应用中有性能问题的 SQL 很有帮助,建议正常情况下,打开此日志并经常查看分析。
以上是给大家介绍的Mysql效率优化定位较低sql的两种方式 ,希望以上所述对大家有所帮助。
Ubuntu自启动Mysql的三种方式 1、、软件环境:Ubuntu..1LTS(GNU/Linux3..0--genericx_)MySQL5.6.x、方法一最简单的方法是执行命令:#update-rc.dmysqldefaultsAddingsystemstartupfor/etc/init.d/mysql.
Mysql中 unique列插入重复值该怎么解决呢 当unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ONDUPLICATEKEYUPDATE子句跳过INSERT、中断操作
Mysql命令大全(详细篇) 一、连接Mysql格式:mysql-h主机地址-u用户名-p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysqlbin,再键入命令mysql-uroot-p,回车后
标签: mysql优化总结
本文链接地址:https://www.jiuchutong.com/biancheng/312324.html 转载请保留说明!友情链接: 武汉网站建设