sql - 是否可以 O(1) 访问数据库行?

标签 sql sql-server performance database-design optimization

我有一个使用自动增量字段(ID)作为主键的表。该表仅用于追加,不会删除任何行。表被设计为具有恒定的行大小。

因此,我预计使用任何值作为 ID 的访问时间为 O(1),因为很容易计算在文件中查找的确切位置 (ID*row_size),不幸的是事实并非如此。

我正在使用 SQL Server。
有可能吗?

谢谢

最佳答案

Hence, I expected to have O(1) access time using any value as ID since it is easy to compute exact position to seek in file (ID*row_size),

啊。不。即使没有删除,自动增量也不能保证没有漏洞。孔 = 通过索引查找。因此:你的假设是错误的。

关于sql - 是否可以 O(1) 访问数据库行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4433588/

相关文章:

sql - 给一组行唯一标识符 SQL

windows - TCP 调整的资源和工具

javascript - RUM(真实用户监控)用户感知的加载时间和位置

mysql - 为什么加入子查询这么慢?

java - 使用Java的PostgreSQL上的Money数据

c# - 从 C# 查询 MS Access

Java 类文件格式超出限制 :

c# - SQL-基于表中两列的排序

SQL Server 时区

c# - 为什么我的 C# 程序在分析器中速度更快?