-
慢查日志的分析工具
查看全部 -
慢查日志的存储格式
慢查日志所包含的内容
执行 SQL 的主机信息
# User@Host: root[root] @ localhost []
SQL 的执行信息
# Query_time: 0.000024 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 0
SQL 执行时间
SET timestamp=1402389328;
SQL 的内容
select CONCAT ('storage engine:', @@storage_engine) as INFO;
查看全部 -
如何发现有问题的 SQL?
使用 MySQL 慢查日志对有效率问题的 SQL 进行监控
Show variables like `slow_query_log`
set global slow_query_log_file='/home/mysql/sql_log/mysql- slow.log'
set global log_queries_not_using_indexes=on;
set global long_query_time=1
查看全部 -
如何分析 SQL 查询
演示数据库说明
使用 MySQL 提供的 sakila 数据库,可以通过以下 URL 获取这个演示数据库 http://dev.mysql.com/doc/index-other.html
sakila 数据库的表结构信息可以通过以下网站查看 http://dev.mysql.com/doc/sakila/en/sakila-installation.html
数据库基于 MySQL!5.5 版本
Why?不同 MySQL 版本的优化器有一定的差别。
查看全部 -
可以从几个方面进行数据库优化
查看全部 -
数据库优化的目的
避免出现页面访问错误
由于数据库连接 timeout 产生页面 5xx 错误
由于慢查询造成页面无法加载
由于阻塞造成数据无法提交
增加数据库的稳定性
很多数据库问题都是由于低效的查询引起的
优化用户体验
流畅页面的访问速度
良好的网站功能体验
查看全部 -
索引的维护及优化
删除不用索引
查看全部 -
pt-query-digest工具
查看全部 -
查看是否开启慢查询日志
show variables like 'slow_query_log'
设置慢查询日志位置
set global slow_query_log_file='/home/mysql/sql_log/mysql-slow.log'
开启没有索引的sql语句慢查询检测
set global log_queries_not_using_indexes=on
设置多久时间记录慢查询日志上
set global long_query_time=1(1秒就记录慢查询日志上)
查看全部 -
or null count 见评论区
另外本章这几节,因mysql版本号过时,不用再看
本课程看看目录.根据目录自己查资料即可
查看全部 -
离散度大的列放到联合索引的前面
查看全部 -
SQl及索引的优化 提升性能最大,效率最高
数据库表结构的优化 根据范式设计表结构
系统配置的优化 linux对mysql的打开文件限制等
硬件优化 提高文件io的速度,但是成本高
io的优化并不能减少阻塞,但是sql索引没有优化好,会产生大量的慢查询或者阻塞,这是由于mysql的内部锁机制造成的,所以硬件再好效果也不大。 mysql对内核是有限制的
查看全部 -
如何分析SQL查询-explain返回各列分析查看全部 -
如何分析SQL查询---explain
查看全部 -
如何通过慢查询日志发现有问题的SQL
查看全部
举报