您的位置:首页 > 数据库 > MySQL

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

2016-05-21 15:47 405 查看
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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: