赞
踩
★
说到 B+Tree,需要从索引聊起,索引就如同字典,我们可以使用目录快速定位到所要查找的内容,那么索引跟目录的作用类似,在数据库表记录中,利用索引,可以快速过滤查找到数据记录。
”
索引有很多分类,例如 B-tree 索引,哈希索引,全文索引等等,索引的实现是在存储引擎层,并不是在后端服务器层,所以不同的存储引擎支持的索引结构也不一定一样 1.1B-tree 索引 B-tree 索引普遍存在于存储引擎中,他使用 B-tree 数据结构来存储数据,如果对树形数据结构比较了解的话,就知道 B-tree 索引所带来的好处了,他的每个叶子节点都会包含下一个节点的指针,非常方便查询数据 B-tree 适用于全键值,键值范围,或者前缀查找,查询/插入/修改/删除的平均时间复杂度都是 O(lg(n)) 1.2 哈希索引 哈希索引基于哈希表实现,对于每一行数据,存储引擎会对所有的索引列计算一个哈希码,然后存储引擎会基于这个哈希码来查找数据,查询/插入/修改/删除的平均时间复杂度都是 O(1),适用于单行查询。 1.3 全文索引 全文索引在几种索引结构类型中比较特殊,他查找的是文本中关键词
索引是建立在系统文件上的,会占用一定的内存空间,另外数据在更新的时候也会去维护索引,消耗内存,所以索引一定要正确的使用,索引并不是越多越好,要根据具体的查询业务来规划索引的建立。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。