我正在尝试将数千行插入表中,但性能是不可接受的。特定表上的行每行需要300毫秒才能插入。
我知道存在用于对SQL Server(SQL Server配置文件,数据库调优顾问)运行查询的工具,但是如何配置插入和更新语句以确定缓慢运行的插入?在查询运行时我是否被迫使用perfmon并使用计数器推断出问题?
答案 0 :(得分:2)
我首先检查单个插入的查询计划,以了解与该操作相关的成本 - 从插件是否从其他地方选择数据的问题中不知道。
然后我会检查表索引以获取以下内容:
这是所有基于SQL模式的问题,假设SQL中没有问题,您可以开始检查磁盘IO计数器以检查磁盘队列长度和响应时间。不要忘记日志驱动器响应时间,因为每个插入都将被记录。
这些问题很难确定,因为你可以提供建议,只需要检查一些事情。
答案 1 :(得分:0)
我打赌问题出在选择上,而不一定是更新。您是否尝试过分析更新语句的选择部分以确保首先没有问题?