- 博客(7)
- 问答 (1)
- 收藏
- 关注
原创 【MySQL-索引及优化】
MySQL-索引MySQL索引数据结构索引类型1、聚集索引/聚簇索引2、辅助索引/二级索引回表3、联合索引/复合索引4、自适应哈希索引5、全文检索之倒排索引6、全文索引(MySQL5.6版本后支持)索引优化规则索引优化方式1、慢查询日志2、优化SQL查询3、重构SQL查询MySQL索引数据结构B+Tree(B-Tree变种),特点: 非叶子节点不存储data,只存储索引(冗余),可以放更多的索引 叶子节点包含所有索引字段 叶子节点用指针连接,提高区间访问的性能索引类型1、聚集索引/聚簇索引
2022-03-07 20:15:53 288
原创 MySQL-索引设计
范式化设计 第一范式(1NF) 1、每一列属性都是不可再分的属性值,确保每一列的原子性 2、两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据 3、单一属性的列为基本数据类型构成 4、设计出来的表都是简单的二维表 第二范式(2NF) 1、第二范式是在第一范式的基础上建立起来的 2、实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字...
2022-02-24 17:02:01 315
原创 MySQL-bin-log日志
bin-log日志 binlog是Server层实现的二进制日志,它会记录用户的cud操作。binlog有如下特点: 1、binlog在MySQL的Server层实现 2、binlog为逻辑日志,记录的是一条语句的原始记录 3、binlog不限制大小,追加写入,不会覆盖以前的记录 如果我们误删了数据库,可以使用binlog进行归档。但首先我...
2022-02-21 16:48:21 752
原创 MVCC机制及BufferPool缓存机制
MVCC多版本并发控制机制 MySQL在可重复读的隔离级别下查询语句在一个事务下多次执行的查询结果相同,就算其他事务对数据做了修改也不会改变当前事务的查询结果,这个隔离性就是由MVCC(Mutil-Version Concurrency Control)实现的,对一行记录的读和写是不会通过加锁互斥来保证隔离性的,避免了频繁加锁互斥。而在可串行化隔离级别为了保证隔离性,所有的操作都是通过加锁互斥来实现的。MySQL在读已提交和可重复读隔离级别下都实现了MVCC机制。u...
2022-02-16 14:06:51 547
原创 MySQL执行流程
内部组件结构 结构图如下:大致的可以把MySQL分为Server层和引擎层两部分。引擎层引擎层负责数据的存储和提取,其架构模式是插件式的,支持Innodb、MyISAM等多个存储引擎。从5.5.5版本之后,Innodb成为了默认的存储引擎。Server层主要有连接器、词法分析器、优化器、执行器等,涵盖MySQL大多数核心服务以及内置函数(日期、数组等函数),并且还涵盖跨...
2022-02-14 16:35:18 517
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人