摘要: 1.1 实现InnoDB下的快照读然后,接下来说说,在READ-COMMITTED和REPEATABLE-READ级别下的InnoDB的非阻塞读是如何实现的。 实际上,在InnoDB存储数据的时候,还会额外存储三个不显示出来的字段:DB_TRX_ID、DB_ROLL_PTR、DB_ROW_ID,下面 阅读全文
posted @ 2020-02-29 21:46 欲码则码 阅读(1046) 评论(0) 推荐(1) 编辑
摘要: MyISAM和Innodb是mysql数据库前后的两种默认数据存储引擎,那么两者究竟有什么区别呢? 一,首先是在锁的方面 MyISAM之可以使用表级锁,不支持使用行级锁。这是什么意思呢? 在MyISAM数据库执行读请求期间,会默认对该请求加上共享锁(读锁),在这一个锁级别下,用户可以进行读共享不可以 阅读全文
posted @ 2020-02-29 20:55 欲码则码 阅读(180) 评论(0) 推荐(0) 编辑
摘要: B+树比B树能存更多的关键字,让我们通过关键字,前往叶子节点找具体的数据 B+树可以做到比B树更矮,IO更少 B+树的查询效率更加稳定 B+树更加有利于对数据库的扫描。 阅读全文
posted @ 2020-02-29 19:23 欲码则码 阅读(1570) 评论(0) 推荐(0) 编辑
摘要: Hash作为和B树B+树完全不同的索引形式,在没有Hash冲突的情况下,查询的效率是非常高的。 但是同样Hash索引还是有一些问题的 1)首先就是Hash索引存取的是哈希值和行指针,索以不提供排序 2)Hash索引不能够避免读取行。 3)Hash索引不适用于范围查询,只适用于=或IN查询。 4)Ha 阅读全文
posted @ 2020-02-29 18:04 欲码则码 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 索引相当于目录一样,可以帮助数据库快速的定位相应数据所在的位置,所以索引大幅度提高了查询效率,降低了数据排序成本,降低了数据库的IO成本,加强了表与表之间的连接。 缺点就是因为索引是一个独立的表,里面存了主键与索引字段,并且指向实体表的记录,所以也是占空间的。并且虽然有了所以之后查询速度快,但是对相 阅读全文
posted @ 2020-02-29 17:42 欲码则码 阅读(375) 评论(0) 推荐(0) 编辑