从SQL表中选择O(1)

时间:2013-12-09 12:07:11

标签: sql sql-server select indexing time-complexity

我正在寻找通过O(1)运行选择查询的方法 我可以通过这种方式创建索引,主键的SELECT将花费O(1)时间复杂度吗?

3 个答案:

答案 0 :(得分:1)

IIRC,一些RDBMS引擎有哈希表索引。这将是AFAIK给你摊销的 如此渴望的恒定时间。 AFAICT,MS SQL Server没有此功能。

答案 1 :(得分:1)

clustered primary key被组织为b-tree

群集密钥不是hash-based index,这是O(1)所必需的。

我认为b-tree搜索是O(log n)

所以不,你不能

  

以这种方式创建一个索引,SE​​LECT by primary key将占用O(1)   时间复杂度?

答案 2 :(得分:1)

SQL Server 2014 允许hash indexes

仅用于声明为内存优化的表。