缓慢插入 SQL Server 2005

缓慢插入 SQL Server 2005

我正在研究以下信息的问题:

我们有一张包含约 90k 条记录的日志表,在极端情况下,插入操作需要几秒钟(大约 10 到 20 秒)。该表的其中一列将 XML 存储为 XML 数据类型。 插入期间不会解析 XML,只是存储它。

我们尝试截断表,假设问题与记录数有关(尽管 90k 似乎“正常”),但插入仍然表现不佳。

虽然我知道还有其他问题可能会使问题变得复杂,但有哪些“首先检查这一点”的想法可以帮助我调试此问题?提前感谢您的任何建议和帮助。

答案1

啊,XML 正在解析,抱歉。

XML 数据类型不将数据存储为文本,而是将其分解为内部结构的键/值样式,为此必须对其进行解析;)顺便说一句,这是为了方便搜索。;)

因此,抱歉,服务器确实解析了 XML。

您认为瓶颈是什么?CPU?IO?锁?

插入操作与表长度之间的性能关系不应是可测量的,除非您做了一些非常愚蠢的事情,例如没有索引的唯一约束(因此每次插入时都会进行表扫描)。在给出建议之前,您需要开始研究花费这么长时间的真正原因以及服务器上发生了什么。

答案2

这可能与https://stackoverflow.com/questions/2782378/which-inserts-faster-xml-field-or-varcharmax-field/2783521#2783521

我将重复我的建议:

应用经过充分测试和验证的性能调查方法,例如等待和排队。猜测很快就会让你一无所获。

答案3

看看您选择如何存储数据。 这是 2005 年的 xml 存储指南不同级别的文档保真度可能会影响性能。另请查看监控绩效的基础知识

相关内容