我们可以在 O(1) 时间内使用主键访问 SQL table 中的记录吗?
Can we access a record in SQL table using primary key in O(1) time?
我想知道在使用主键查找记录时,RDBMS 是否需要 O(1) 时间?
没有。在我所知道的所有数据库中,主键索引都是 B 树索引。在这样的索引中查找特定元素是 O(log n) 操作,而不是 O(1)。
请注意,对于数据库的大小,O(log n) 非常接近 O(1)。毕竟十亿的log才30左右(以2为底)
我想知道在使用主键查找记录时,RDBMS 是否需要 O(1) 时间?
没有。在我所知道的所有数据库中,主键索引都是 B 树索引。在这样的索引中查找特定元素是 O(log n) 操作,而不是 O(1)。
请注意,对于数据库的大小,O(log n) 非常接近 O(1)。毕竟十亿的log才30左右(以2为底)