随笔分类 - 数据库
摘要:参考文档: http://www.cnblogs.com/crazylqy/p/5542558.html http://www.cnblogs.com/gl-developer/p/6170423.html https://mp.weixin.qq.com/s?__biz=MzAxMTEyOTQ5O
阅读全文
摘要:上文中,我们了解了MySQL不同引擎下索引的实现原理,在本文我们将继续探讨一下索引的使用以及优化。 创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特
阅读全文
摘要:今天我们来探讨一下数据库中一个很重要的概念:索引。 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构,即索引是一种数据结构。 我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最
阅读全文
摘要:数据库范式包括第一、第二、第三以及BCNF范式,关于范式的探讨,博主在知乎上看见了一篇很不错的文章,分享文中,这边就不再做阐述。地址:https://www.zhihu.com/question/24696366 在这边列出一些数据库的定义: 1.关系模型:用二维表格结构表示实体集,外键表示实体间联
阅读全文
摘要:目前,我们已经探讨了许多关于数据库锁的问题,锁能够有效地解决并发的问题,但这也带来了一个严重的缺点,那就是死锁。 死锁在操作系统中指的是两个或两个以上的进程在执行的过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或者系统产生了死锁,这些永远在互
阅读全文
摘要:在上文中,我们探讨了MySQL不同存储引擎中的各类锁,在这篇文章中我们将要讨论的是MySQL是如何实现并发控制的。并发问题有三种,分别为: 首先我们先来看一下悲观锁和乐观锁: 悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。 悲观锁(Pessimistic Lock)实际上是悲观并发控
阅读全文
摘要:参考文档:http://blog.csdn.net/soonfly/article/details/70238902 锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除了传统的计算机资源,如CPU、RAM外,数据也是多个用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据
阅读全文
摘要:1. 事务的定义 数据库事务是数据库管理系统执行过程中的一个逻辑单位,有一个有限的数据库操作序列完成。以 “A账户向B账户汇钱” 为例,一个事务是下面一个操作序列: a. 从A账号中把余额读出来。 b. 对A账号做减法操作。 c. 把结果写回A账号中。 d. 从B账号中把余额读出来。 e. 对B账号
阅读全文