sql serverver SQL 语句优化

获取软件设计师高级职称 万达金融最佳创新奖

你对这个回答的评价是

这是一个创建于 1761 天前的主题其Φ的信息可能已经有所发展或是发生改变。

现在情况是执行完一条数据生成的语句需要1S左右

算下来我需要6个小时才能执行完

单步执行结果是发现存在一个delete语句中包含了in语句需要1s,

但是同样的另外一个delete语句中也包含了in语句却只要0.4s

有没有什么解决的思路

索引和外键都是有的,数据量也都差不多

查看执行计划吧认为执行计划已经比较高效,那么瓶颈基本上就在硬件上了23w * 4+ 次执行的速度不是单靠优化SQL能解决的。

求教MSSQL用exists替换in能改善性能吗Oracle是明显改善的,尤其是10以前的版本

exists和in的性能比较要看比较吧。如果你指的是

的话通常来说是没有明显的區别的(execution plan是一样的)。

不过老的版本里IN会被翻译成一串OR。。。那个性能就不能直视了

可以考虑先把所有ID查出来汇总到一块儿去重嘫后一次性喂DELETE?

2. 这种语句在什么场景下执行每个请求一次?每天一次如果每天一次,几秒都是可以接受了在怎么优化有没有多大收效
3. 有些东西不是单单通过优化sql可以解决的,换个思路比如把数据全部dump出来,然后分析然后再喂回去。某些场景下效率会高很多

2个表嘚数据量不一样吧?

看一下开查询缓存没或者执行两次同一条select

我们几百万上千万数据都很快出来,你的为什么会这么慢呢你explain试一试

我要回帖

更多关于 sqlserver数据库 的文章

 

随机推荐