下面这句SQL能不能优化一下

IT_zen 2007-03-15 03:53:36
delete Forum_Vote where VoteID in (select VoteID from Forum_Vote where Topic_ID='+@Topic_ID+' and VoteID not in('+@VoteIDs+'))
...全文
178 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT_zen 2007-03-15
  • 打赏
  • 举报
回复
谢谢
paoluo 2007-03-15
  • 打赏
  • 举报
回复
的確,好象可以直接這麼寫

Delete Forum_Vote where Topic_ID='+@Topic_ID+' and VoteID not in('+@VoteIDs+')
IT_zen 2007-03-15
  • 打赏
  • 举报
回复
请问激情,你写的和这个语句哪个效率更高,执行更快,
delete Forum_Vote where Topic_ID='+@Topic_ID+' and VoteID not in('+VoteIDs+')
paoluo 2007-03-15
  • 打赏
  • 举报
回复
用關聯可能效率好些

Delete A From Forum_Vote A
Inner Join
(select VoteID from Forum_Vote where Topic_ID='+@Topic_ID+' and VoteID not in('+@VoteIDs+')) B
On A.VoteID = B.VoteID
IT_zen 2007-03-15
  • 打赏
  • 举报
回复
delete Forum_Vote where Topic_ID='+@Topic_ID+' and VoteID not in('+VoteIDs+')
中国风 2007-03-15
  • 打赏
  • 举报
回复
delete Forum_Vote
where exists
(select 1 from Forum_Vote
where Topic_ID='+@Topic_ID+'
and VoteID not in('+@VoteIDs+') and VoteID=Forum_Vote.VoteID)
IT_zen 2007-03-15
  • 打赏
  • 举报
回复

delete Forum_Vote where VoteID where Topic_ID='+@Topic_ID+' and not in('+VoteIDs+')
中国风 2007-03-15
  • 打赏
  • 举报
回复
用exists

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧