- 博客(21)
- 收藏
- 关注
原创 explain_len
key_len显示的值为索引字段的最大可能长度,并非实际使用长度,即key_len是根据表定义计算而得,不是通过表内检索出的。表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度。在不损失精确性的情况下,长度越短越好。
2023-11-08 10:37:46
65
1
原创 key_len
key_len显示的值为索引字段的最大可能长度,并非实际使用长度,即key_len是根据表定义计算而得,不是通过表内检索出的。表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度。在不损失精确性的情况下,长度越短越好。
2023-11-08 10:37:15
75
1
原创 possibeble_keys 和key介绍
显示可能应用在这张表中的索引,一个或多个。查询涉及到的字段上若存在索引,则该索引将被列出,查询中如果使用了索引覆盖,则该索引仅出现在key列表中。实际使用的索引,如果为null,则没有使用索引。
2023-11-08 10:36:44
55
1
原创 explain type
只检索给定范围的行,使用一个索引来选择行。key 列显示使用了哪个索引一般就是在你的where语句中出现了between、<、>、in等的查询这种范围扫描索引扫描比全表扫描要好,因为它只需要开始于索引的某一点,而结束语另一点,不用扫描全部索引。非唯一性索引扫描,返回匹配某个单独值的所有行.本质上也是一种索引访问,它返回所有匹配某个单独值的行,然而,它可能会找到多个符合条件的行,所以他应该属于查找和扫描的混合体。唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配。常见于主键或唯一索引扫描。
2023-11-08 10:36:19
45
1
原创 explain-id详解
首先可以把它们分为两组,id相同的为一组,id不同的为一组,这两组中,id的值越大的越先执行,首先执行的id=2的这一行,去加载emp表,然后,再去执行id=1的组,id相同,从上往下执行,那么执行的应该是“<derived2>”,这个“derived”表示的是衍生的意思,而其中的“2”表示的是id=2的这一行。从上图可以看出,首先是执行的是id=2的这一行,也就子查询,执行的是表dept,然后再执行emp表。小总结:id相同,表示加载表的顺序是从往下,从上图看出,首先加载dept表,再加载emp表。
2023-11-07 13:59:01
93
原创 explain简介
使用EXPLAIN关键字可以模拟优化器执行SOL查询语句,从而知道MySOL是如何处理你的SOL语句的。分析你的查询语句或是表结构的性能瓶颈。Explain + SQL语句。每张表有多少行被优化器查询。数据读取操作的操作类型。
2023-11-07 13:58:27
31
原创 MySQL性能分析
1 Mysql中有专门负责优化SELECT语句的优化器模块,主要功能: 通过计算分析系统中收集到的统计信息,为客户端请求的Query提供他认为最优的执行计划(他认为最优的数据检索方式,但不见得是DBA认为是最优的,这部分最耗费时间) 2 当客户端向MySQL 请求一条Query,命令解析器模块完成请求分类,区别出是 SELECT 并转发给MySQLQuery Optimizer时,MySQL Query Optimizer 首先会对整条Querv进行优化,处理掉一些常量表达式的预算,直接换算成常量值。
2023-11-07 13:57:57
26
原创 创建索引的条件
注意,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。如果一个表中有2000条记录,表索引列有1980个不同的值,那么这个索引的选择性就是1980/2000=0.99.个索引的选择性越接近于1,这个索引的效率就越高。1.主键自动建立唯一索引 2.频繁作为查询条件的字段应该创建索引 3.查询中与其它表关联的字段,外键关系建立索引 4.频繁更新的字段不适合创建索引 因为每次更新不单单是更新了记录还会更新索 5.Where条件里用不到的字段不创建索引 6.单键/组合索引的选择问题,who?
2023-11-07 13:57:26
67
原创 索引的分类
(columnname(length)如果只有一个代表的是单只索引,如果是多个的话代表复合索引。#(columnname(length)如果只有一个代表的是单只索引,如果是多个的话代表复合索引。优先使用复合索引,因为单例索引有时候可能会不够用,例如身份证信息表中的名字可能会重复。#该语添加一个主,意味着索引值必须是唯一的,且不能为NULL。#[UNIQUE]代表可以省略,如果创建唯一索引可以加上。即一个索引只包含单个列,一个表可以有多个单列索引。#添加普通索引,索引值可出现多次。即一个索引包含多个列。
2023-11-07 13:56:46
31
原创 Mysql索引介绍
我们平时说的索引,如果没有特别的指明,都是B树,(多路搜索树,并不一定是二叉的)结构组织的索引,其中聚集索引,次要索引,复合索引,前缀索引,唯一索引,默认都是使用b+树索引,统称索引,当然,除了B+树,这种类型的索引之外,海有哈希索引(hashindex)等。虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件每次更新添加了索引列的字段都会调整因为更新所带来的键值变化后的索引信息。
2023-11-07 13:55:58
33
原创 Mysql中的7大Join
A的独有+AB的公有 B的独有+AB的公有 AB的公有 A的独有 B的独有 A的独有+B的独有+AB的公有 A的独有+B的独有 练习 建表 部门表员工表情景分析。
2023-11-07 13:55:28
50
原创 性能下降原因
服务器调优及其各个参数设置(缓冲,线程数等)复合索引(使用一个字段以上的字段作为索引)单值索引(只是用一个字段作为索引)关联查询太多join。
2023-11-07 13:54:38
29
原创 存储引擎简介
innodb是聚簇索引,必须要有主键,一定会基于主键查询,但是辅助索引就会查询两次,myisam是非聚簇索引,索引和数据是分离的,索引里保存的是数据地址的指针,主键索引和辅助索引是分开的。innodb不存储表的行数,所以select count( * )的时候会全表查询,而myisam会存放表的行数,select count(*)的时候会查的很快。innodb和myisam的索引都是基于b+树,但他们具体实现不一样,innodb的b+树的叶子节点是存放数据的,myisam的b+树的叶子节点是存放指针的。
2023-11-07 13:53:46
25
原创 Mysql逻辑架构
第二层架构主要大多数的核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析及优化及部分内置函数的执行。在该层,服务器会解析查询并创建相应的内部解析树,并对其完成相应的优化,如确定查询表的顺序,是否利用索引等,最后生成相应的执行操作,如select语句,服务器还会查询内部的缓存。存储引擎层,存储引擎真正的负责了MySQL中数据的存储和读取,服务器通过api与存储引擎进行通信。和数据库相比,MySQL有点与众不同,他的架构可以在多种不同场景中应用并发挥良好作用,主要体现在存储引擎的架构上,
2023-11-07 13:53:09
25
原创 设置MySQL字符集
默认关闭,记录查询的sql语句,如果开启会降低mysql的整体性能,因为记录日志也是需要消耗系统资源的。默认关闭,记录严重的警告和错误信息,每次启动和关闭的详细信息等。在MySQL5历史版本中部分是在这个路径。MySQL 8中使用以下路径。Windows下配置文件名称。Linux下配置文件名称。存放数据库表结构的文件。
2023-11-07 13:52:38
29
原创 Mysql命令和配置
var/lib/mysql/ mysql数据库文件的存放路径。/usr/share/mysql 配置文件路径。/usr/bin 相关命令目录。/etc/init.d/mysql 启停相关脚本。
2023-11-07 13:52:02
27
原创 使用MySQL仓库来安装部署MySQL
(仅限EL8系统)基于EL8的系统(如RHEL8和Oracle Linux 8)包括默认启用的MySQL模 块。这将安装MySQL服务器的包(MySQL社区服务器)以及运行服务器所需组件的包,包括客户 端的包(MySQL社区客户端)、客户端和服务器的常见错误消息和字符集(MySQL社区公 用)以及共享客户端库(MySQL社区库)。validate_password实现的默认密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且总密码长度至少为8个字符。为您的平台选择并下载发布包。
2023-11-07 13:51:30
43
原创 docker中gitlab迁移
如果没有挂载数据卷,但是又不知道文件在哪里,可以使用命令在linux本机上查找这个备份的文件。的文件,我需要找到它但是不确定具体位于哪个目录下。我可以执行下面的命令,从文件系统的顶部。此处有个大坑,一定要指定路径,并且文件的一些后缀不需要加,要手动删除一些后缀。1、把备份文件上传到新服务器的gitlab数据卷backups目录中。备份文件所在目录为git数据卷目录中的backups。是你要寻找的东西的名字,结果将完全匹配。表示从文件系统的顶部开始搜索。是你要寻找的东西的类型。表示块状特殊设备文件,
2023-11-07 13:50:58
394
原创 问题场景:CentOS 8安装源设置基础软件仓库时出错
2.点击安装源,将安装源配置为阿里的。解决方案: 1.先确认网络是否连接。Centos8 使用下面的链接。URL类型是:软件库URL。
2023-11-07 13:50:01
4345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人