回答

收藏

数据库查询时间复杂度

技术问答 技术问答 370 人阅读 | 0 人回复 | 2023-09-14

我对数据库还很陌生,所以如果这是一个愚蠢的问题,请原谅我。
% _9 h; C. R* ?* Z在现代数据库中,如果我使用索引来访问行,则我相信这将是O(1)复杂性。但是,如果我查询选择另一列,它是O(1)还是O(n)?数据库是否必须遍历所有行,还是为每列建立一个排序列表?% e1 o) c% ^. Q' A' s9 X
               
8 U- u4 H1 t* ^* y( T3 ?! z解决方案:7 |, p- H0 u1 Z1 [% V
                " V- Q$ p3 @; T  }
# f6 h& ]# u3 D( _& p  c; v

9 y, q- C" z3 e6 K3 }                实际上,我认为基于索引的访问将是O(log(n)),因为您仍将通过类似B-Tree的组织进行搜索以获取记录。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则