【发布时间】:2020-04-27 00:29:25
【问题描述】:
您好,我有一张表,其中包含我需要将文本/json/xml 存储到其中的字段。如果我只插入一条长度约为 20MByte 的记录,则需要大约 50 秒。 表是这样定义的
table {
ID: integer autoincrement primaryindex
Data: varchar(max)
}
可以做些什么来优化它。我希望它可以即时插入
【问题讨论】:
-
"Instant" 太野心勃勃了,因为无论您如何存储它,您的客户端都必须将那 20 MiB 的数据传输到服务器。但是假设您有一个良好的网络连接和一个良好的数据库 I/O 系统,那么快速插入应该是可能的。最大的问题是 1)如何生成文本和 2)您使用什么代码来进行插入?衡量这一点的最糟糕方法是使用 Management Studio,它根本不适合处理大值。
-
正如 Jeroen 提到的,我们需要查看插入语句,但我想说我们还需要查看 SET STATISTICS IO ON 的输出,并将执行计划粘贴到 brentozar.com/pastetheplan
-
感谢您的快速解答。看来是我们 Azure 级别的 SQL 的问题。服务器。
标签: sql-server blob varchar varcharmax