索引分类概览
现在已经知道了MySQL中的索引设计的数据结构是基于B+树的,但这对于索引这个概念而言还只是冰山一角。在深入MySQL的索引实际应用之前,必须对索引有个全局理解。这篇文章就讨论一下围绕着索引产生的相关前置知识。
现在已经知道了MySQL中的索引设计的数据结构是基于B+树的,但这对于索引这个概念而言还只是冰山一角。在深入MySQL的索引实际应用之前,必须对索引有个全局理解。这篇文章就讨论一下围绕着索引产生的相关前置知识。
索引设计是数据库非常精髓的一部分内容,在进入到具体细节之前,就先从索引的数据结构设计上的思路开始吧。
锁的本质是通过串行化事务来解决并发产生的竞争问题,但串行就意味着性能的牺牲,在大多数情况下,读请求远多于写请求,效率要求相比准确率的权重占比更大,所以需要一种针对读场景下,能牺牲部分准确率换来更高效率的并发控制方案,就是MVCC了。
上篇数据库文章谈到了事务隔离的表现,这篇文章就连带着学习一下事务隔离背后的实现——锁机制。锁的设计目的其实很直观,因为数据库中操作占比最多的读写动作肯定避不开多线程同步,为了解决并发带来的数据一致性问题,就有了锁机制定义的一系列访问规则来控制线程对数据的访问。
事务这个概念也不陌生了, react和mobx中都多次了解过了,在MySQL里的事务也是一样的,就是为了保证操作的完整性以及数据的一致性。这篇文章就学习一下MySQL的事务设计。
作为前端,虽然和数据库打交道不多,但还是很有必要学一学的。一是如果接触Node,就免不了接触到后端和数据库知识,打通整套开发体系也能给予我们更广阔的视野。二是数据库的一些设计确实很精妙,这些思想在平时开发中也可以有意识的学以致用。当然语法就不细谈了,文档都能查到,主要是打算写一系列解析数据库设计的文章。第一篇就从非常重要的日志开始吧。