第十三章《优化》

第十三章《优化》

查询优化:
1.show status like ‘slow_queries’;

2.分析查询语句:
explain/desc select 语句

mysql> explain select * from user1;
±—±————±——±—–±————–±—–±——–±—–±—–±——+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
±—±————±——±—–±————–±—–±——–±—–±—–±——+
| 1 | SIMPLE | user1 | ALL | NULL | NULL | NULL | NULL | 3 | |
±—±————±——±—–±————–±—–±——–±—–±—–±——+
1 row in set (0.00 sec)

id select 语句的id号
select_type:查询语句的类型
simple:简单的查询语句
primary:主查询,最外层查询
union:连接查询
subquery:子查询

type:表示查询读取数据的方式;
const:表示只有一行数据匹配
system:该表时仅有一行数据的系统表;
eq_ref:使用到的索引时unique或者primary,子句使用了‘=’来对比索引列;
ref:使用了索引,但是索引不是unique或者primary key;
ref_or_null:mysql可以通过select语句来查询索引列包含null值的行
index_merge:使用到组合索引
range:范围查询的意思,只检索给定范围的行,子句当中‘<=’,’>=’.between
ALL:整个表进行遍历(没有使用索引)

特殊的查询语句:
1.使用like关键字的查询语句
like后面匹配字符串的第一个字符串是‘%’,即使查询的是索引,也不会使用索引;
2.子语句中有or关键字,只有or连接的两个字段都是索引字段才能使用索引;
3.select字段如果属于组合索引中的字段,我们必须使用组合索引中的最左边的索引字段,否则不适用索引;

库表结构的优化:
1.字段的数据类型
2.数据类型后面数据宽度
3.选择合适的存储引擎
4.分库分表
5.插入数据:
(1)alter table 表名 disable keys; 禁用索引
(2)禁用唯一性检查: set unique_checks=0;
(3)使用批量插入;

6.分析表
analyze table tablename
在这里插入图片描述
op:执行的操作是什么
Msg_type: 信息级别:status 正常状态 ,info信息,note注意,warning警告,error报错;
Msg_text:显示信息

检查表:
check table 表名

优化表:消除执行完删除或者更新命令后造成空间浪费
optimize table tablename

性能参数的优化:
cpu、内存、I/O优化等;
max_connections:set global max_connections=500M

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101965.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mybatis一级缓存和二级缓存工作方式_redis二级缓存

    mybatis一级缓存和二级缓存工作方式_redis二级缓存系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章Python机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言二、mybatis二级缓存:出现的原因:二级缓存介绍:二级缓存清除策略:事务管理策略:二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了

    2022年9月20日
    2
  • Headless模式_java throwable

    Headless模式_java throwableHeadless模式是在缺少显示屏、键盘或者鼠标时的系统配置。在java.awt.toolkit和java.awt.graphicsenvironment类中有许多方法,除了对字体、图形和打印的操作外还可以调用显示器、键盘和鼠标的方法。但是有一些类中,比如Canvas和Panel,可以在headless模式下执行。系统属性配置为了启用headless模式,需要使用setProperty方法去设置相…

    2025年8月9日
    6
  • 浅谈Mock测试

    浅谈Mock测试一、Mock测试的定义 Mock就是在测试过程中,对于一些不容易构造/获取的对象,创建一个Mock对象来模拟对象的行为 二、Mock测试的作用 1、为什么要做Mock: 在对代码进行单元测试过程中,经常会有以下的情况发生: classA依赖classB和classC classD依赖classC和classE classB依赖…..

    2022年6月20日
    38
  • 艺术的问题

    艺术的问题

    2021年12月31日
    49
  • UE4 Actor生命周期 SpawnActor DestroyActor剖析「建议收藏」

    UE4 Actor生命周期 SpawnActor DestroyActor剖析「建议收藏」今天xbox开发机挂掉了。系统坏了,发现一个解决办法。错误代码E200E305分享链接O网页链接O网页链接点击打开链接点击打开链接转载自http://weibo.com/3185590710/profile?rightmod=1&wvr=6&mod=personnumber&is_search=1&key_word=%E5%BC%80%E5%8F%91%E6%9

    2025年8月21日
    3
  • Cover Letter 写作技巧[通俗易懂]

    Cover Letter 写作技巧[通俗易懂]CoverLetter写作技巧本文由清新电源原创,作者,转载请申请并注明出处:http://www.sztspi.com/archives/199096.html-by刘田宇老师感谢刘田宇老师的分享,致敬!觉得有用的话,欢迎一起讨论相互学习~投稿信(CoverLetter)是向学术科技期刊投稿时不可或缺的材料。往往只有一页的投稿信却能很大程度地决定稿件的“生死”。投稿信的…

    2022年4月29日
    92

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号