mysql
文章平均质量分 51
可爱的小小小狼
精读各种经典书籍,喜欢总结读书笔记。
展开
-
高性能mysql-查询性能优化
一个任务是由很多子任务组成的,每个子任务都会消耗一定时间,如果优化查询,要么消去一些子任务,要么让子任务更快。原创 2024-05-20 22:46:01 · 1006 阅读 · 0 评论 -
高性能mysql-索引
全表扫描是扫描所有的行。索引查找就是使用B+树(innodb)。原创 2024-05-20 21:03:13 · 375 阅读 · 0 评论 -
高性能mysql-schema设计
存储二进制数据。原创 2024-05-20 20:24:45 · 179 阅读 · 0 评论 -
mysql的explain
explain可以用于select,delete,insert,update的statement。当explain用于statement时,mysql将会给出其优化器(optimizer)的执行计划。通过explain字段生成执行计划表。下面来解析这个执行计划表的每一列的意义。原创 2024-05-15 22:41:22 · 524 阅读 · 0 评论 -
mysql的隔离性——MVCC
更新和删除时会写入undolog中。原创 2024-05-13 13:39:01 · 225 阅读 · 0 评论 -
锁和MVCC如何实现mysql的隔离级别
读未提交,更新数据大概率使用的是独享锁吧。原创 2024-05-13 12:39:49 · 281 阅读 · 0 评论 -
mysql实现隔离性——锁
MyISAM存储引擎主要使用表锁(table-level locking),并不支持行级锁(row-level locking)。当MyISAM存储引擎执行修改数据(如INSERT、UPDATE、DELETE)的操作时,会在相关的表上加锁,这阻止了其他用户对同一表的写操作,但仍然允许读操作。由于MyISAM锁的粒度较大(整个表),它可能会在高并发的应用中成为瓶颈。原创 2024-05-13 12:10:45 · 513 阅读 · 0 评论 -
undolog
undolog执行的时间:在执行器操作bufferpool之前。原创 2024-05-12 23:03:41 · 260 阅读 · 0 评论 -
mysql事务
通过undolog和redolog来实现,redolog(记录操作,用来重新做操作),undolog(记录逆向操作,用来撤销操作)。先写undolog,再写redolog,最后写数据库的刷盘。原创 2024-05-12 19:29:43 · 130 阅读 · 0 评论 -
mysql索引
真实数据列作为聚簇索引,如上图那个主键值就是聚簇索引。每一个非叶子节点只会包含:最小行-聚簇索引-下一页-聚簇索引-下一页。。。。-最大行。叶子节点的行按照聚簇索引找到直接返回。每个表会将主键作为聚簇索引自动创建,并且有且只有一个聚簇索引。如果没有索引,会将第一个unique列作为聚簇索引,如果unique也没有,会用隐藏字段。聚簇索引树就是按照聚簇索引来构造的。原创 2024-05-12 18:29:26 · 250 阅读 · 0 评论 -
mysql中的页和行
行即表中的真实行,‘行式数据库’的由来虽然MySQL的数据文件(例如.ibd文件)中的数据页在物理上是通过链表连接的,但是在逻辑上,MySQL使用B+树来组织和访问数据。原创 2024-05-12 17:29:39 · 248 阅读 · 0 评论 -
mysql的执行流程
我们可以设置连接池的最大连接数量,接收报文的最大长度指令优化后传给存储引擎。innodb只操作内存。原创 2024-05-12 17:01:59 · 566 阅读 · 0 评论 -
mysql的存储结构
ibd文件大小取决于数据和索引,在5.7之后才会为每个表生成一个独立表空间即一个ibd文件,在此之前,所有表默认下都会存储在“系统表空间”(共享表空间),所有表都在一个ibd文件。原创 2024-05-12 16:31:59 · 347 阅读 · 0 评论