sql-server – 找不到足够好的计划的查询
我有一个SQL Server 2012数据库.我注意到一些查询提前终止语句优化的Reason的价值,并且都给出了足够好的计划.现在我的问题是: >什么是可能的类型“提前终止的原因 > Finding: Query Compilation 解决方法>超出内存限制由于内存压力,优化器被迫停止寻找更好的计划替代方案.应该调查和纠正原因,然后再次尝试查询编译.返回的计划很可能不是优化器在没有低内存条件时选择的计划. 这个原因很容易被误解. 查询优化器旨在快速找到合理的计划.它没有进行详尽的搜索以找到最佳的计划.通过设计,它可以避免在优化上花费更多时间.其中一个功能可以确保这是’超时'(不是时间的衡量标准). 优化器根据逻辑查询的复杂性,基数估计以及迄今为止发现的最便宜计划的估计成本(如果有的话)设置自己的“勘探预算”.具有更高基数的更复杂查询被赋予更高的预算. 如果在其中一个搜索阶段超出此预算,则阶段结束.这是优化器的设计和正常操作的一部分.需要更多优化工作的查询才能获得;那些不,不. 将“超时”想象为“找到足够好的计划”. 这意味着与空白原因完全相同.这只是一个历史怪癖,计划成本低于0.909090 …(1 / 1.1)标记为这种方式.当出现此原因时,优化器代码中没有任何内容提前停止或以其他方式特殊处理或不同. 除了超出内存限制之外,没有任何“提前终止原因”对查询调优或性能分析意味着很多(如果有的话).我一般都会忽略它们. 忠告 基于实际性能指标(经过时间,CPU /内存使用,……在上下文中重要的任何内容)来定位查询调优工作.如果查询对于其预期目的来说太慢,请花时间加快速度.测量实际性能,将其与基线和历史进行比较,并针对重要差异进行目标调整. 将保证干净的数据存储在适当的关系模式中,包含有用的统计信息和索引,以及编写良好且易于优化的查询. 【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
-
解决form中action属性后面?传递参数 获取不到的问题
如下所示: echo " 您将更新商品编号为 $p_id 的商品...[详细]
-
sql – Oracle是否为Number数据类型存储尾随零?
当我在表中存储数值并在SQL Developer中查询该表时,它...[详细]
-
本篇章节讲解php基于SQLite实现的分页功能。供大家参...[详细]
-
本篇章节讲解PHP封装的PDO数据库操作类。分享给大家供...[详细]
-
这里要说明一下 因为本人比较懒 博客中相关文章的内容...[详细]
-
今天PHP站长网 52php.cn把收集自互联网的代码分享给大...[详细]
-
本篇章节讲解PHP实现删除多重数组对象属性并重新赋值...[详细]
-
如下所示: */ namespace woo\process; abstract clas...[详细]
-
实验环境: 测试域名daxiangtravel.com,apache根目录...[详细]
-
基本上我有一个表消息,user_id字段标识创建消息的用户...[详细]