gpt4 book ai didi

mysql - BTREE的优势?

转载 作者:IT老高 更新时间:2023-10-28 23:51:44 27 4
gpt4 key购买 nike

我在没有 USING BTREE 子句的情况下创建索引。使用 BTREE 索引有什么好处吗?

CREATE INDEX `SomeName` USING BTREE ON `tbl_Name`(`column_name`);

最佳答案

首先,根据所使用的存储引擎,您可能别无选择(例如 InnoDB 专门使用 BTREE 作为其索引)。

另外,BTREE 是大多数存储引擎的默认索引类型。

现在...在某些情况下,使用替代索引类型可能会提高性能。在某些情况下(相对罕见的情况)哈希索引可能会有所帮助。请注意,当创建 HASH 索引时,也会生成 BTREE 索引。部分原因是哈希索引只能解析相等谓词。 (哈希索引无法处理 WHERE Price > 12.0 等条件)。

简而言之:继续使用 BTREE,无论是隐式(如果 BTREE 是所用存储的默认值),还是显式。了解其他类型的索引,以便了解它们的需求。

编辑:(在可能使用替代索引类型的搜索情况下)
实际上,RTREE 的情况相当简单。索引。只有在 "SPATIAL" databases 的上下文中,MySQL 才支持这些。 ,即包含地理定位上下文的数据库,例如 GIS 模型中的点和其他对象)。

HASH 索引更通用(不限于特定的应用程序或数据类型),人们通常可以根据自己对哈希的直观理解来获得关于何时这些可能优于旧但忠实的 BTREE 的提示。如前所述,这意味着通常使用相等谓词搜索列。我猜测相对较短的查找表等可能会受益,这取决于 MySQL 中的有效实现。

关于mysql - BTREE的优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1687910/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com