Ehs*_*ani 3 sql t-sql sql-server timeout
SELECT TOP 1 *
FROM URLForPosting WITH(nolock)
WHERE status = 0
ORDER BY newid()
Run Code Online (Sandbox Code Playgroud)
这是当我在代码中运行时出现超时的查询,即使当我在 SQL Server 上运行它时也会出现超时。
但是当我这样做时
SELECT TOP 1 *
FROM URLForPosting WITH(nolock)
WHERE status = 0
Run Code Online (Sandbox Code Playgroud)
它运行得很好。
另外,第一个查询运行良好,直到前 6 条记录缺少记录,总共缺少 8 条记录,现在它超时了?我已经创建了状态索引。
有什么建议么?
返回随机记录的另一种方法是使用TABLESAMPLE
. 看看它的表现如何:
SELECT TOP 1 *
FROM URLForPosting TABLESAMPLE(1) WITH(nolock)
WHERE status=0
ORDER BY newid()
Run Code Online (Sandbox Code Playgroud)
TABLESAMPLE
在 SQL Server 2005 及更高版本中可用。
归档时间: |
|
查看次数: |
2131 次 |
最近记录: |