SQL Server 2008 Ent ASP.NET MVC 2.0 Linq-to-SQL
我正在建设一个游戏网站,用于追踪特定玩家(角色)何时击败特定怪物(boss)。表格大致如下:
int ToonId
int BossId
datetime LastKillTime
我使用第三方服务获取最新的信息(toon,boss,time)。现在我想用这些新信息更新我的数据库。暴力的方法是逐行进行upsert。但是这看起来很丑陋(代码上),而且可能也很慢。
我认为更好的解决方案是插入新数据(使用临时表?),然后运行MERGE语句。
这是个好主意吗?我知道应该尽量避免使用临时表。我应该为此操作创建一个永久的“临时”表吗?还是我只需要读取整个当前集合(最多100行),执行合并并从应用程序中重新放回?
任何指针/建议都会被赞赏。