bla*_*ist 0 sql-server performance
我有一个非常大的数据库,超过60演出,有许多表有数百万行.我收到一些超时错误,所以我正在重新思考我的一些代码设计.
目前,我的pseduo代码是这样的:
从表中删除person = 123(删除约200行)
然后我重新插入更新的数据(再次,200行).数据总是不同的,因为它对时间敏感.
如果我要进行更新,而不是插入,我必须先选择行(我在c#中使用ORM).
tl; dr我只是想知道,简单的问题,什么是更具成本效益.选择/更新或删除/插入?
1)如果更新属于聚簇索引键的任何列,则无论如何都会在内部将更新作为删除/插入处理
2)你如何处理基数与UPDATE的差异?IE浏览器.person = 123有200行要删除,但只有199要插入.更新将无法处理此问题.
您最好的方法应该是使用一个MERGE
statemnent和一个表值paramneter与新值.当然,没有ORM可以处理这个问题,但是你提到了"性能",术语"性能"和"ORM"不能用在同一个句子中......
归档时间: |
|
查看次数: |
5356 次 |
最近记录: |