Hash 索引通过 hash 算法计算 hash 值,存储的索引应该也是 hash 值,查找时先计算查找字段的 hash 值,通过 hash 值直接命中索引的位置并返回结果,时间复杂度为 O(1),hash 索引的缺点就是没办法通过一个范围来查询。可以使用= 或者 <=> 操作符
B-Tree 索引通过构建二叉树来建索引,可能类似于字符在 ASCII 码表中的位置来排序(瞎猜),查找的时候只要前面部分不是模糊的依然可以通过索引来快速匹配到前半部分内容,但是二叉树的查询时间复杂度为 O(logn),查找的时候需要从根节点开始搜索,同时树算法通常更易于维护。可以使用=, >, >=, <, <=, 或者 BETWEEN 操作符
网友评论