![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mysql
文章平均质量分 71
mysql的学习笔记
Pandada。
这个作者很懒,什么都没留下…
展开
-
规则优化
规则优化条件优化移除不必要的括号常量传递:某个常量与列的等值匹配,且其他条件包含这个值,就直接进行替换例如a=5 and b>a 则可以变成 a=5 and b>5移除没用的条件表达式计算最好让索引列以单独的形式出现在搜索条件表达式中HAVING子句和WHERE子句的合并常量表检测查询的表中一条记录都没有,或者只有一条记录使用主键等值匹配或者唯一二级索引列等值匹配作为搜索条件来查询这个表外连接消除如果where子句的搜索条件“指定被驱动表原创 2021-03-28 15:04:41 · 204 阅读 · 0 评论 -
InnoDB的存储方式
InnoDB的存储方式永久存储:存储在磁盘中。非永久存储:存储在内存中。mysql5.6.6之后数据默认存储在磁盘上。磁盘上统计数据innodb_table_stats表字段名描述database_name数据库名table_name表名last_update本条记录最后更新的时间n_rows表中记录的条数clustered_index_size表的聚簇索引占用的页面数量sum_of_other_index_sizes表的其他索引占用原创 2021-03-27 00:33:10 · 377 阅读 · 0 评论 -
优化成本
优化成本读取一个页面花费的成本默认为1.0。读取以及检测一条记录是否符合搜索条件的成本默认是0.2。找出成本最低的方法的过程:根据搜索条件,找出所有可能使用的索引。计算全表扫描的代价。计算使用不同索引执行查询的代价。对比各种执行方案的代价,找出成本最低的那个方案。全表扫描的代价:聚簇索引占用的页面数该表中的记录数二级索引+回表的代价:扫描区间数量需要回表的记录数index dive:通过直接访问索引对于的B+树来计算机某个扫描区间内对应的索引记录条数。IN语句中对应原创 2021-03-26 22:56:18 · 151 阅读 · 0 评论 -
表连接
表连接笛卡尔积:连接查询的结果集中包含一个表中的每个记录与另一个表中的每条记录相互匹配的组合。连接步骤:先通过第一个需要查询的表中,即驱动表,查找跟单表查询的条件相匹配的记录,每获取一条记录就去匹配被驱动表中符合单表过滤情况的记录,然后得到最后的结果。内连接和外连接内连接的两个表,若驱动表中的记录在被驱动表中找不到匹配的记录,则该记录不会加入到最后的结果集。外连接的两个表,若驱动表中的记录在被驱动表中找不到匹配的记录,也仍然需要加入结果集。左外连接:左侧的表为驱动表。右外连接:右侧的表炜驱动表原创 2021-03-25 21:47:58 · 56 阅读 · 0 评论 -
单表访问方法
单表访问方法访问方法即mysql执行查询语句的方法。const:mysql通过主键或者唯一二级索引列定位一条记录的访问方法。ref:搜索条件为二级索引列与常数进行等值比较,形成的扫描区间为单点扫描区间,采用二级索引来执行查询的方法是ref方法。ref_or_null:与ref方法相比,多了值为NULL的二级索引记录。range:对应若干个单点扫描区间或者范围扫描区间。index:扫描全部二级索引记录的访问方法。all:使用全表扫描执行查询的访问方法。等值查找比范原创 2021-03-25 20:19:32 · 81 阅读 · 0 评论 -
InnoDB表空间
InnoDB表空间表空间就是存放页的地方。类型名称十六进制描述FIL_PAGE_TYPE_ALLOCATED0x0000最新分配,还没使用FIL_PAGE_UNDO_LOG0x0002Undo日志页FIL_PAGE_INODE0x0003段信息节点FIL_PAGE_IBUF_FREE_LIST0x0004Insert Buffer空闲列表FIL_PAGE_IBUF_BITMAP0x0005Insert Buffer位图FIL_PAG原创 2021-03-22 19:58:33 · 168 阅读 · 0 评论 -
InnoDB数据页结构
InnoDB数据页结构名称中文名占用空间大小简单描述File Header文件头部38字节页的一些通用信息Page Header页面头部56字节数据页专有的一些信息Infimum+Supremum页面中最小记录和最大记录26字节两个虚拟的记录User Records用户记录不确定用户存储的记录内容Free Space空闲空间不确定页中尚未使用的空间Page Directory页目录不确定页中某些记录的相对位置原创 2021-03-20 22:05:40 · 67 阅读 · 0 评论 -
InnoDB记录存储结构
InnoDB记录存储结构InnoDB是一个将表中的数据存储到磁盘上的存储引擎,我们真正处理数据的时候是在内存中处理,所以我们需要将数据加载到内存中。InnoDB是将数据分成若干页,页的大小一般为16KB,一次最少读取一页。COMPACT行格式额外信息为了方便记录的管理。变长字段长度列表真正的数据内容:第一个二进制位表示标志位:若为0,则是单独字段长度。若为1,则是半个字段长度。数据占用的字节数:放在记录的开头处位置,如果一个字符最多需要的字节数*最多能存字符数<=255,就用1字原创 2021-03-20 19:45:05 · 120 阅读 · 0 评论 -
Mysql字符集和比较规则
Mysql字符集和比较规则字符集SHOW CHARSET [LIKE 匹配模式];这就是mysql的字符集,第一列表示字符集的名称,第二列表示字符集的描述,第三列表示默认的比较规则,第四列表示最多需要几个字节。比较规则SHOW COLLATION [LIKE 匹配模式];例如这条cp1250表示这个是字符集cp1250的比较规则,ci表示不区分大小写。99表示比较按规则的ID,default表示是否为该字符集默认的比较规则。后缀英文释义含义_aiaccent in原创 2021-03-19 23:06:12 · 99 阅读 · 0 评论