SQL - 外键O(1)的时间复杂度?

时间:2016-11-17 23:31:41

标签: sql rdbms

我们说我有这种数据,例如:

{{1}}

因此,当我查询数据库以查找与注释相关的用户时,它是否会遍历用户中的所有行,直到找到具有正确ID(O(n))的用户?登记/> 或者它被索引为某种哈希表,并且数据库立即知道在哪里找到用户(O(1))?

更新 好的,显然我需要改写:是否可能使这个O(1)具有正确的索引?

1 个答案:

答案 0 :(得分:0)

是的,因为这是hash索引查找的复杂性。

主题是(关系)query optimization(也可以称为查询实现)。除了教科书和幻灯片之外,您还可以阅读特定产品的文档,这些文档将涉及索引和查询计划等内容。

SQL是一种语言,其实现依赖于DBMS。除了约束方面PRIMARY KEY和UNIQUE之外,甚至索引都没有保证的标准行为。