我有什么选择将数据插入非规范化表

时间:2016-11-24 00:53:40

标签: c# sql-server insertion

在数据库中创建了一个非规范化表(一种汇总表),希望它能提高性能。

  • 此表将每天使用批处理作业(HardDelete)
  • 进行清理
  • 此表不需要约束(因为它可能会影响性能)
  • 速度将成为主要关注点

背景是最初,通过大型表格(表示为tableA)进行搜索操作,因为总是有新的插入,因此表格变得很大。 现在每当有新的插入到tableA中时,我们将插入到这个newTable中,而搜索将反对这个newTable,因为这个newTable将每天都有batchjob硬删除,所以大小将是可控制的。

现在我想知道为了将数据插入到这个newTable中有什么选择。我当前的选择是在tableA或普通方式上设置触发器(在插入TableA之后通过服务器代码将数据插入此newTable)。还有其他选择可以帮助提高速度吗?

1 个答案:

答案 0 :(得分:0)

触发器比将其添加到服务器端代码更快,因为数据已经到达数据库。你的主要关注点是交易(如果触发器失败会发生什么?)以及触发器的维护(如果你问我,触发器很难维护)。

对于原始插入速度,您可以检查表锁定设置,禁用读取安全性并禁用所有约束。