用户表的一个主键外联表(记录用户的扩展信息),但这些信息经常被更新,以下哪种效率更高?
方法一)
if exists(select uid from [users] where uid=100)
update [userpoint] set point = point +3
else
BEGIN
insert into [userpoint] () values
update [userpoint] set point = point +3
END
方法二)
update [userpoint] set point = point +3
IF @@rowcount =0
BEGIN
insert into [userpoint] () values
update [userpoint] set point = point +3
END
给[userpoint]加一条对应的外联记录,每个用户只有一次,而update是很频繁的动作。
是不是第二种方法更好呢?用第二种方法有什么问题吗?