如何理解MySQL数据库的优化


本文摘自PHP中文网,作者坏嘻嘻,侵删。

分区允许根据指定的规则,跨文件系统分配单个表的多个部分。表的不同部分在不同的位置被存储为单独的表。

SQL及索引优化

如何发现有问题的SQL?


使用MySQL慢查日志对有效率问题的SQL进行监控

1

2

3

4

5

6

7

show variables like 'slow_query_log'

 

set global slow_query_log_file = '/home/mysql/sql_log/mysql-show.log'

 

set global log_queries_not_using_indexs = on;

 

set global long_query_time = 1

慢查日志的存储格式

1

2

3

4

5

6

7

8

9

10

11

12

13

# Time: 140606 12:30:17

 

// 执行SQL的主机信息

# User@Host: root[root] @ localhost[]

 

// SQL的执行信息

# Query_time:0.000031 Lock_time:0.000000 Rows_sent: 0 Rows_examined:0

 

// SQL 执行时间

SET timestamp = 1402029017

 

// SQL的内容

select CONCAT('storage engine:',@@storage_engine) as INFO;

慢查日志的分析工具

- mysqldumpslow

- pt-query-digest

如何通过慢查询日志发现有问题的SQL?

1. 查询次数多且每次查询占用时间长的SQL

通常为pt-query-digest分析的前几个查询

2.IO大的SQL

注意pt-query-digest分析中的Rows examine项

3.未命中索引的SQL

注意pt-query-digest分析中Rows examine 和Rows Send对比

相关推荐:

mac使用终端运行mysql,mysql终端,mysql mac,mysql目录,mysql路径,macmysql

Mysql分区|mysql分区表|mysql partition|by range

以上就是如何理解MySQL数据库的优化的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

mysql text 如何取值

php入门教程之使用mysqli操作数据库的方法(连接,查询,事务回滚等)

mysq学习:通过命令将sql查询的结果导出到具体文件

实例讲解mysql统计库表大小

mysql如何删除关联表

mysql数据库触发器使用教程

百万级数据mysql测试环境介绍

用c++封装mysql的api的教程

mysql到底支不支持事务嵌套?

关于 mysql 执行流程的解析

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...