我们似乎在使用索引的查询上有非常不寻常的糟糕性能。例如表格看起来像
所以我们需要在数据库中插入一行,然后在 ID 上查找。但是第三方拥有的 ID 和我们有 PK。我们需要拿回PK。但是这些 ID 中很大一部分具有非常相似的起始值。例如
我不确定 SQL Server 是如何遍历 BTree 的,如果它从最左边的位置开始对值进行哈希处理或进行字符串比较。
在查询这些值时,具有非常大范围的非常相似的值(至少前 4 个字符是相同的)是否会导致索引性能不佳?
更新:
抱歉,查找查询是
SELECT PK_Column FROM table WHERE ID = @ID
Run Code Online (Sandbox Code Playgroud)
标记要求:
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server parse and compile time:
CPU time = …Run Code Online (Sandbox Code Playgroud) index sql-server-2005 sql-server-2008 sql-server sql-server-2008-r2