我有一个SQL查询通过视图的计数结果更新列,这是我的查询
UPDATE [dbo].[Table] SET [ColumnName] = (select Count(View.Column) from View where table.Column = View.ColumnN and View.Column1>0)
WHERE [dbo].[Table].Column in (select Column from View) 当我在本地SqlServer中执行此查询时,此查询将花费1秒,但是当我在部署了应用程序的服务器中执行该查询时,大约需要1.36分钟,我在做什么错了:)提前Thnks
问题来源于stack overflow
很常见 有时记录从10到100显然会导致效率降低。尝试先进行分组,然后使用连接合并更新记录。您的列关系对我来说并不明确,仅供参考。
UPDATE [dbo].[Table] SET [ColumnName] = d.Result FROM (SELECT View.ColumnN, COUNT(View.Column) AS Result FROM View GROUP BY View.ColumnN WHERE View.Column1 > 0) d INNER JOIN [dbo].[Table] t ON d.ColumnN = t.Column
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。