MySQL数据优化总结-查询备忘录
一、据优结查优化分类

二、化总测试数据样例
参考mysql官方的询备sakina数据库。
三、忘录使用mysql慢查询日志对有效率问题的据优结查sql进行监控

***个,开启慢查询日志。化总第二个,询备慢查询日志存储位置。忘录第三个,据优结查没有使用索引的化总也会记录到慢查询日志中。第四个,询备超过1秒之后的忘录查询记录到慢查询日志中(通常设置100ms)。
3.1、据优结查分析慢查询日志文件
3.1.1 tail命令
tail -50 /home/mysql/sql_log/mysql_slow.log,化总输入文件中的询备尾部内容,即末尾50行数据.
我们抽出其中一条,查看,如下图所示。


query_time,查询耗时(单位秒);lock_time,锁表时间。rows_sent,发送请求的行数;rows_examined,查询数据导致扫描表用到的行数。
3.1.2 官方mysqldumpslow工具
mysqldumpslow ,默认随mysql安装。
mysqldumpslow -h,可查询工具支持的命令。源码库

mysqldumpslow -s r -t 10 /var/lib/mysql/localhost-slow.log | more ,返回结果如下图所示。

3.1.3 pt-query-digest工具
比mysqldumpslow反馈的信息多。

pg-query-digest --help 查看帮助,查看使用命令。
pg-query-digest /var/lib/mysql/localhost-slow.log,查询结果如下。

***部分

第二部分

第三部分
四、如何通过慢查日志发现有问题的sql

五、通过explain查询和分析sql的执行计划

const常数查找,一般来说,针对主键和唯一索引;eq_reg,一般主键或是唯一索引范围查找;ref,常见于连接查询中;range,对于索引的范围查找;
index,对于索引的扫描;all,表扫描。

六、count()和max()的优化

1、max()优化
在payment_date上建立索引

建索引后的查询结果
可以看出,直接通过索引结构,就能查询出***日期。覆盖索引,是指完全可以通过索引获得查询结果。
2、b2b供应网count()优化
count(*)包含null值,count(id)不包含
错误写法:

正确写法:

七、子查询的优化
一对多的子查询,注意dinstinct

八、group by的优化

优化前

优化前

优化后

优化后

优化后,减少io,提高效率,节省服务器资源
灵活使用子查询和连接查询
九、limit查询的优化


缺点:分页limit越往后,扫描行数越多,io操作越大

缺点:id连续。主键连续增长,分页查询更快
十、如何选择合适的列建立索引

如果是覆盖索引,可直接从索引结构中获取数据,这样最快;索引字段越小,数据库数据存储以页为单位,每次io所获取的数据量就大。
通过select count(dinstinct customer_id)查看离散度。离散度大的列,可选择性越高。
十一、索引优化SQL的方法
索引提高查询,但是香港云服务器会影响inset,update,delete。



4、数据库表结构优化
4.1 选择合适的数据类型

时间类型上,时间戳和int占用字节相同;not null需要额外字段存储,


bigint8个字节,varchar15个字节
4.2 数据库的范式化优化


4.4表的垂直拆分

例如,将新闻表的内容拆分到单独一个表
4.5 表的水平拆分


前台用拆分后的表,后台用汇总表
总结的很随意,纯粹方便查看知识点
相关文章
电脑系统恢复教程(一步步教你恢复电脑以前的系统,轻松解决系统问题)
摘要:在使用电脑的过程中,我们有时会遇到系统出现问题导致电脑无法正常运行的情况。这时,恢复电脑以前的系统是一个常见的解决方法。本文将详细介绍如何通过一系列步骤来恢复电脑以前的系统,让你轻...2025-11-05- 想学运维的人们越来越多,学习过程中,哪些是运维必备技能?面试时会遇到什么问题?协议相关知识知识,哪些是面试要点?1 选择1.1 邮件服务器smtp、pop3的端口分别是43 110 25 1431102025-11-05
都说go语言比较火,都开始学习go语言编程,刚入门Go语言小白需要注意以下五点:1、注意书写代码的一些规范吧,特别是注意大小写、英文标点符号区别等,在特别的位置写上注释。2、主要是理解伪代码所描述的算2025-11-05
现在运维工程师的发展,兴起了一股IT热潮。大部分的人都打算从事Linux运维这个行业。互联网+时代,运维工程师被大量需求,有人说运维就是网管,低级无前途。错,当下互联网大环境下,传统网管不再符合市场要2025-11-05- 摘要:伟峰HJ-C285是一款备受赞誉的音频设备,其出色的音质和智能功能使其成为音频领域的佼佼者。本文将对伟峰HJ-C285的特点进行详细介绍。一卓越的音质表现... 伟2025-11-05
技术的发展吸引了许多人开始往it行业发展,Linux运维是目前较为火热的职业岗位之一。学习Linux云计算运维技术的人们也是越来越多。学习过程中多多少少会遇到些学习上的问题。那么Linux运维学习中,2025-11-05

最新评论