详解 MySQL
下面来学习互联网行业使用最为广泛的关系型数据库 MySQL,它的知识点结构图如下所示。
常用 SQL 语句
对于手写常用 SQL 语句,没有什么特殊的技巧,根据所列的语句类型多做一些练习就好。
数据类型
要知道 MySQL 都提供哪些基本的数据类型,不同数据类型占用的空间大小。可以按给出的分类进行记忆,这里就不一一罗列。
引擎
介绍 MySQL 中主要的存储引擎。
-
MyISAM 是 MySQL 官方提供的存储引擎,其特点是支持全文索引,查询效率比较高,缺点是不支持事务、使用表级锁。
-
InnoDB 在 5.5 版本后成为了 MySQL 的默认存储引擎,特点是支持 ACID 事务、支持外键、支持行级锁,提高了并发效率。
-
TokuDB 是第三方开发的开源存储引擎,有非常快的写速度,支持数据的压缩存储、可以在线添加索引而不影响读写操作。但是因为压缩的原因,TokuDB 非常适合访问频率不高的数据或历史数据归档,不适合大量读取的场景。
锁
MySQL 中的锁,上面也提到了,MyIASAM 使用表锁,InnoDB 使用行锁。
-
表锁开销小,加锁快,不会出现死锁;但是锁的粒度大,发生锁冲突的概率高,并发访问效率比较