SQL插入速度很慢

时间:2014-03-03 17:51:33

标签: sql sql-server

每隔5秒我想在表格中插入大约10k行。表未标准化,没有主键或任何索引。我注意到插入性能非常慢 - 在20秒内有10k行,这对我来说是不可接受的。

在我的理解中,索引只能改善搜索性能,但不能提高插入性。这是真的吗?您有什么建议可以提高性能吗?

2 个答案:

答案 0 :(得分:1)

除了Miky的建议之外,您还可以通过减少varchar字段的长度,使用枚举而不是文本等来提高优化数据库结构的性能。它还与参照完整性有关,首先我认为,无论如何都应该规范化数据库。然后,您可以继续优化查询。

答案 1 :(得分:0)

你是正确的,索引将不会改善插入性能(如果由于额外的开销可能会对它造成伤害)。

如果插入速度很慢,可能是由于外部因素(例如运行SQL Server实例的硬件的IO性能),或者由于其他查询而导致数据库或表级别的争用。您需要运行性能分析器以确定原因。

如果您按顺序执行插入操作,则可能需要考虑执行bulk insert operation而不是具有更好的性能特征。

最后,有一些值得思考的问题,如果你每5秒钟进行一次10K插入,你可能会考虑使用NoSQL数据库进行批量存储,因为它们往往具有更好的性能特性,适用于此类型的应用程序。频繁写作。