索引用于快速找出在某个列中有一特定值的行。如果不使用索引,MySQL 必须从第1
条记录开始然后读完整个表直到找出相关的行。表越大,花费的时间越多。如果表中查询的
列有一个索引,MySQL 能快速到达一个位置去搜寻数据文件的中间,没有必要看所有数据。
如果一个表有1000 行,这比顺序读取至少快100 倍。注意如果需要访问大部分行,顺序读
取要快得多,因为此时应避免磁盘搜索。
大多数MySQL 索引(如PRIMARY KEY、UNIQUE、INDEX 和FULLTEXT 等)在BTREE 中存
储。只是空间列类型的索引使用RTREE,并且MEMORY 表还支持HASH 索引。
时间: 2024-10-06 12:09:06