MySQL 并发控制

无论何时,只要有多个查询需要在同一时刻修改数据,都会产生并发控制的问题。以 Unix 系统的 email box 为例,典型的 mbox 文件格式是非常简单的。一个 mbox 邮箱中的所有邮件都串行在...
阅读全文

MySQL 事务

事务是一组原子性的 SQL 查询,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中任何一条语句因为崩溃或其他原因无法执行,那么所有的语句都...
阅读全文
MySQL 树形结构数据库设计 MySQL

MySQL 树形结构数据库设计

程序设计过程中,我们常常用树形结构来表示某些数据的关联关系,如企业的部门上下级、电商平台的商品分类等等,通常而言,我们需要通过数据库来完成数据的持久化。由于关系型数据库没有一个很好的树形结构解决方案,...
阅读全文

MySQL 高性能索引(B-Tree 索引)

索引有很多类型,可以为不同的场景提供更好的性能。在 MySQL 中,索引是存储在引擎层而不是服务器层实现的。所以,并没有统一的索引标准:不同存储引擎的索引的工作方式并不一样,也不是所有的存储引擎都支持...
阅读全文

MySQL 高性能的索引

索引(在 MySQL 中也叫做“键( key )”)是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。索引基础在 MySQ...
阅读全文

MySQL 范式与反范式的选择

对于任何给定的数据通常有很多种表示方法,从完全的范式化到完全的反范式话,以及两者的折中。在范式化的数据库中,每个事实数据会出现并只出现一次。相反,在反范式化的数据库中,信息是冗余的。如果不熟悉范式和反...
阅读全文