我正在使用此SELECT
声明
SELECT ID, Code, ParentID,...
FROM myTable WITH (NOLOCK)
WHERE ParentID = 0x0
此规则每15分钟重复一次(通过Windows服务)
问题是当运行此查询时,数据库对其他用户来说变得很慢
查询运行时避免性能下降的最佳方法是什么?
答案 0 :(得分:0)
为您的查询生成执行计划并进行检查。
ParentId
字段是否已编入索引?是否可以提高托管SQL Server的服务器的性能?
需要考虑的其他事项 - 您是否必须始终从应用程序表中检索此表中的最新值,或者是否可以缓存先前结果并在一段时间内使用这些值?
答案 1 :(得分:-1)
好像你的桌子上有大量的记录。您可以考虑实现页面检索数据。您可以先请求前100行,然后多次调用以获取其余数据。
我仍然不明白需要每隔15分钟运行一次这样的查询。您可以考虑实现一个存储过程,该存储过程可以执行大部分处理并返回一小部分数据。如果它符合您的要求,这将是一个很好的改进。