MySql中的索引类型?

时间:2013-11-12 11:12:33

标签: mysql indexing

我在学习.NET时已经阅读过SQL服务器中的集群和非集群索引。在PHP中,我发现有三种类型的索引,如BTREE,RTREE和HEAP。

有人可以告诉我,如果有人询问索引的类型,究竟是什么答案?

1 个答案:

答案 0 :(得分:0)

MyISAM和Innodb仅支持B-TREE INDEX。

在MySQL手册[1]中,CREATE INDEX允许USING HASH

index_type:
USING {BTREE | HASH}

但是,如果您使用HASH索引是使用BTREE创建的。 (它只适用于兼容的其他DBMS)

并且,InnoDB的PRIMARY KEYclustered index。你知道什么是clustered index吗?

  • UNIQUE INDEX只是B-TREE INDEX,不允许重复
  • 内存表中的INDEX可以使用HASH INDEX [2]
  • 这个[3]演示文稿提供了有关InnoDB中聚簇索引的大量信息

[1] http://dev.mysql.com/doc/refman/5.5/en/create-index.html

[2] http://dev.mysql.com/doc/refman/5.5/en/memory-storage-engine.html

[3] http://www.percona.com/files/percona-live/justin-innodb-internals.pdf