第七章 存储引擎的选择
7.1 MySQL存储引擎概述
第十章 索引的设计和使用
10.1 索引概述
索引是数据库中常用来提高查找性能的工具。类比字典,字典的正文是每个字及其解释,索引就相当于前面的目录部分,按照拼音或者偏旁进行排列。缺点就是牺牲了空间。一本字典正文部分500页,前面索引部分可能有100页。以空间换取时间。 数据库中的空间就是硬盘空间。
所有的MySQL的列类型都可以被索引。
根据存储引擎,可以定义每个表的最大索引数和最大索引长度,每种数据库在每张表上至少支持16个索引,总索引长度至少为256字节。
MyISAM和InnoDB两种存储引擎中默认的都是BTree
索引。MySQL还支持前缀索引,就是对索引字段的前N个字符创建索引。索引的前缀长度与存储引擎相关,myisam前缀长度1000字节,innodb前缀长度767字节。MySQL还支持全文索引,该索引可以用于全文搜索。MySQL只有myisam引擎支持全文索引,并且仅限于char,varchar和text列。