第十三章《优化》

第十三章《优化》

查询优化:
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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 转—如何让前端更安全?——XSS攻击和防御详解[通俗易懂]

    转—如何让前端更安全?——XSS攻击和防御详解

    2022年3月1日
    50
  • 微信公众号开发系统入门教程(公众号注册、开发环境搭建、access_token管理、Demo实现、natapp外网穿透)

    微信公众号开发系统入门教程(公众号注册、开发环境搭建、access_token管理、Demo实现、natapp外网穿透)微信公众号主要有以下几个步骤微信公众号的通讯机制微信公众号简介1.注册微信公众号2.注册测试公众号3.搭建微信本地调试环境1)下载客户端natapp:2)安装natapp:4.微信公众号接入(校验签名)第1步中服务器配置包含服务器地址(URL)、令牌(Token)和消息加解密密钥(EncodingAESKey)。第2步,验证服务器地址的有效性,当点击“提交”…

    2022年6月6日
    26
  • 网路层协议——IGMP协议「建议收藏」

    网路层协议——IGMP协议「建议收藏」一、组播地址1、IP多播的基本概念①IP多播(以前曾译为组播)已成为互联网的一个热门课题。目的:更好地支持一对多通信,网络中的带宽压力。●一对多通信:一个源点发送到许多个终点。例如,实时信息的交付(如新闻、股市行情等),软件更新,交互式会议及其他多媒体通信。2、组播IP地址的特点①它使用D类IP地址作为目的地址。②组播数据包不产生ICMP差错报文。③组播地址只能用于目的地址而不能用于源地址。3、组播MAC地址…

    2025年11月15日
    7
  • kettle工具的作用和使用「建议收藏」

    kettle工具的作用和使用「建议收藏」最近公司一个同事离职,由我来接手他手上的一个项目,我负责开发后台,因为设计到脚本统计数据,需要做定时任务将日表数据统计到月表或者年表。于是该项目用到了Kettle,用了之后才发现,这是个好东西啊。一.了解Kettle工具Kettle最早是一个开源的ETL工具,以Java开发,支持跨平台运行,其特性包括:支持100%无编码、拖拽方式开发ETL数据管道;可对接包括传统数据库、文件、大数据平台、接口、流数据等数据源;支持ETL数据管道加入机器学习算法。二.Kettle下载和安装1.官网下载地址:https

    2022年10月16日
    2
  • cmpp发送短信[通俗易懂]

    cmpp发送短信[通俗易懂]思路:把各种操作解耦,创建各种线程异步进行1.创建一个阻塞队列用来存储任务2.创建一个任务线程,从待发表里取数据(待发表里有专门标明是否被处理过的字段),注入任务队列3.创建n个接收线程,向接收表中塞入数据4.创建n个发送进程,从任务队列里取数据,发送一共有待发表,接收表,已发表,发送错误表,回执状态表5张基础表具体基础代码参考cmpp2.0文档,或者自己搜索…

    2025年7月5日
    2
  • 大数据_03【大数据基础知识】

    大数据_03【大数据基础知识】大数据_0301大数据概述02什么是大数据?(BigData)03传统数据与大数据的对比04大数据的特点4.1传统数据与大数据处理服务器系统安装对比4.2大数据下服务器系统安装![在这里插入图片描述](https://img-blog.csdnimg.cn/20201006090915426.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV

    2022年5月4日
    44

发表回复

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

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