关于mysql索引(fulltext、hash、btree)的实践

来源:互联网 发布:域名服务器的类型有 编辑:程序博客网 时间:2024/05/21 22:07

mysql的包含fulltext、hash和btree三种索引,在mysql5.6以下版本中,innodb引擎只支持hansh和btree索引,myisam引擎支持fulltext引擎;在5.7以后innodb引擎开始支持fulltext索引了,之前就遇到了这样的问题,我们公司用的是mysql5.6版本,用一张产品表大概有300万数据,所以想通过建fulltext索引以提高查询速度,但是5.6这个版本fulltext索引和事务支持是不可兼得的,之后就蛋痛的升级mysql数据库了。

  fulltext索引。 本人觉得fulltext建索引有点像Lucene建索引,但是fulltext建索引不支持中文,如果数据库表数据达到百万级,用fulltext还是挺方便的,这样不必用Lucene去建索引和维护它。

 hash索引。根据他的名字很好好理解,就是通过数据库数据的hash来建索引的,所以这类索引是不支持like查询和排序的,只支持= in < >等。不过这种索引比btree索引的查询要快。

btree索引。btree方面,本人现在不是太懂,用空再研究。但是一样是可以直接理解,这类索引是树型的,btree索引不允许null。



0 0