首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库统计有多有用?

数据库统计有多有用?
EN

Stack Overflow用户
提问于 2014-04-22 04:11:26
回答 2查看 712关注 0票数 2

数据库统计在查询性能方面有多有用?

我在SQL Server 2014查询上做了一个数据库引擎优化,它说我可以在查询处理方面得到79%的改进,建议创建5个统计数据和1个索引。

在性能方面,与本例中的1个索引相比,5个统计数据在百分比上如何提高查询性能?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-22 04:28:34

统计数据对于查询性能至关重要。没有它们,优化者只是猜测进入数据的哪个路径排列将是最有效的。对每个表的每次访问都不会比扫描表更好。

它们非常重要,因此SQL Server会动态地为临时查询创建它们。如果您执行SELECT * FROM MyTable WHERE ThisColumn = 'SomeValue',它将在ThisColumn上创建统计信息。随着数据在您的表格中被修改,统计数据最终会变得“陈旧”。在这一点上,优化者倾向于忽视他们,开始产生非常糟糕的计划。表演从悬崖上掉了下来。过去只需几秒钟的查询现在需要几分钟。

至于这些表上的这5项统计数字,我无从得知。试试看。记住,没有免费的午餐,然而。创建和维护统计信息需要CPU、内存和IO。它们中的越多,它们的开销就越大;非常类似于索引。

这是一个覆盖它的好文章

票数 2
EN

Stack Overflow用户

发布于 2019-01-26 17:26:58

简单地说,统计将创建这些列的价值趋势摘要,而索引实际上将创建一些数据结构(通常是B树),以避免其列中的所有值扫描。

在性能方面,通常所有的性能都是通过索引来实现的,而统计数据只会在查询执行的子步骤(执行计划)中提供避免错误的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23210221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档