博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql优化
阅读量:3725 次
发布时间:2019-05-22

本文共 1386 字,大约阅读时间需要 4 分钟。

show status

了解各种sql的执行频率
可以sql在使用中
show status like 'Com_%';
结果
com_selelct 执行select的操作次数 一次查询只累加一次
com_insert 执行insert的操作次数 对于批量插入操作,只累加一次
com_update 执行update的操作次数
com_delete 执行delete的操作次数
下面几个参数只针对innodb存储引擎
innodb_rows_read select查询返回的行数
innodb_rows_inserted 执行插入的行数
innodb_rows_updated 执行更新的行数
innodb_rows_deleted 执行删除的行数

事务型的 com_commit和com_rollback 可以了解事务提交和回滚的情况

了解数据库的基本情况

connections 试图连接mysql服务器的次数
uptime 服务器工作时间
slow_queries 慢查询的次数

定位执行效率较低的sql语句

1.通过查询日志定位 用 --log-slow_queries[=file_name],mysqld写一个包含执行时间超过long_query_time秒skq语句的日志文件
2.慢查询日志在查询结束后才记录,所以在应用反映执行效率出行的时候查询慢查询日志并不能定位问题,可以使用show processlist
命令查看当前mysqk在进行的线程,包括线程的状态,是否锁表等,可以实时查看ssql的执行情况,同时对一下锁表操作进行优化

explain(desc)分析低效的sql的执行计划

结果分析:
selelct_type:表示select的类型,常见的取值有simple(简单表,即不使用表连接或者子查询).primary(主查询,即外层查询),
union(union中的第二个或者后面的查询语句),subquery(子查询中的第一个select)
table:输出结果集的表
type: 表示mysql在表中招到所需行的方式,或者叫访问类型,常见类型如下:
all 全表扫描
index 索引全扫描
range 索引范围扫描 常见于< <= > >= between等
ref 使用非唯一索引扫描或唯一索引的前缀扫描,返回匹配某个单独值得记录行
idx_fk_customer_id 是非唯一索引,查询条件为等值查询条件customer=35,所以扫描索引的类型为ref.ref还经常出现在join操作中
eq_ref 类似ref,区别就在使用索引是唯一索引,对每个索引键值,表中只有一条记录匹配 简单来说 就是多表连接中使用primary key
或者unique index作为关联条件
const/System单表中最多有一个匹配行,查询起来非常迅速,所以这个匹配航中的其他列值可以被优化器在当前查询中当作常量来处理
null mysql不用访问表或者所以,直接就能得到结果

explain extended 加上show warnings可以看到sql真正被执行之前优化器做了哪些sql改写

show profile

分析sql,可以看到执行过程中每个状态和消耗的时间
在sql语句执行后输入命令 show profile; 即可返回

转载地址:http://whtnn.baihongyu.com/

你可能感兴趣的文章
编译和交叉编译openssl
查看>>
ubuntu下载安装Eclipse for c/c++ developers
查看>>
Sourcetree跳过注册和git和mercurial安装
查看>>
c语言16进制字符串转字节数组
查看>>
ubuntu下安装CUnit出现的问题及解决
查看>>
c语言获取本地时间
查看>>
ubuntu中openwrt编译环境的搭建
查看>>
从字符串中获取指定字符串之间字符串
查看>>
16进制字符串转字节
查看>>
机器学习的发展
查看>>
LeetCode 1277. 统计全为 1 的正方形子矩阵
查看>>
LeetCode 1021. 删除最外层的括号
查看>>
LeetCode 942. 增减字符串匹配
查看>>
LeetCode 1046. 最后一块石头的重量
查看>>
LeetCode 55. 跳跃游戏
查看>>
LeetCode 面试题22. 链表中倒数第k个节点
查看>>
LeetCode 234. 回文链表
查看>>
LeetCode 面试题 17.12. BiNode
查看>>
LeetCode 1362. 最接近的因数
查看>>
LeetCode 面试题 10.01. 合并排序的数组
查看>>