gpt4 book ai didi

mysql - 将列设置为 mysql 表中的索引是否确保 O(1) 查找?

转载 作者:可可西里 更新时间:2023-11-01 07:28:56 24 4
gpt4 key购买 nike

所以当列上有索引时,您执行简单的 SELECT * FROM table WHERE indexed_column = value,这是 O(1) 搜索吗?索引的内容是整数还是字符串有关系吗?

最佳答案

MySQL 的 MyISAM 或 InnoDB 存储引擎中的查找都不是 O(1) 搜索。这些存储引擎使用 B+树来实现索引。他们最多只能进行 O(log2n) 次搜索。

MEMORY 存储引擎默认使用 HASH 索引类型,以及 B+Tree 索引类型。只有HASH索引才能实现O(1)次查找。

无论哪种情况,索引列的数据类型都不会改变这一点。

有关 MySQL 索引的更多信息,请阅读 http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html

关于mysql - 将列设置为 mysql 表中的索引是否确保 O(1) 查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7681257/

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