在数据库中创建了一个非规范化表(一种汇总表),希望它能提高性能。
背景是最初,通过大型表格(表示为tableA)进行搜索操作,因为总是有新的插入,因此表格变得很大。 现在每当有新的插入到tableA中时,我们将插入到这个newTable中,而搜索将反对这个newTable,因为这个newTable将每天都有batchjob硬删除,所以大小将是可控制的。
现在我想知道为了将数据插入到这个newTable中有什么选择。我当前的选择是在tableA或普通方式上设置触发器(在插入TableA之后通过服务器代码将数据插入此newTable)。还有其他选择可以帮助提高速度吗?
答案 0 :(得分:0)
触发器比将其添加到服务器端代码更快,因为数据已经到达数据库。你的主要关注点是交易(如果触发器失败会发生什么?)以及触发器的维护(如果你问我,触发器很难维护)。
对于原始插入速度,您可以检查表锁定设置,禁用读取安全性并禁用所有约束。