生成SQL查询计划需要5分钟,查询本身以毫秒为单位运行.这是怎么回
发布时间:2020-12-12 08:47:05 所属栏目:MsSql教程 来源:网络整理
导读:在SQL Server 2008上运行的存储过程,我有一个相当复杂(或丑陋,取决于你如何看待它).它具有一个pk表和一个fk表视图的大量逻辑. fk表被连接到pk表略多于30次(fk表设计不佳 – 它使用名称值对,我需要展平,不幸的是,它是第三方,我不能改变它). 无论如何,它已经运
在SQL Server 2008上运行的存储过程,我有一个相当复杂(或丑陋,取决于你如何看待它).它具有一个pk表和一个fk表视图的大量逻辑. fk表被连接到pk表略多于30次(fk表设计不佳 – 它使用名称值对,我需要展平,不幸的是,它是第三方,我不能改变它).
无论如何,它已经运行了好几个星期,直到我定期注意到需要3-5分钟的跑步.事实证明,这是生成查询计划所需的时间.一旦查询计划存在并被缓存,存储过程本身就非常有效地运行.事情运行顺利,直到有理由重新生成并再次缓存查询计划. 有没有人看到这个?为什么需要这么长时间来制定计划?有没有办法让它更快地提出计划? 解决方法您可以尝试使用 Plan Guide.计划生成仍将持续一段时间,但应显着缩短.(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |