首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL数据库中索引推荐的算法是什么?

问SQL数据库中索引推荐的算法是什么?
EN

Database Administration用户
提问于 2016-10-24 20:06:58
回答 2查看 1K关注 0票数 3

我在Server中使用了调优顾问工具,它根据给定的工作负载提供索引推荐。

我想为PostgreSQL创建一个类似的工具。我看了一些研究论文。但是,我无法找到SQL Server调优顾问用于提供索引建议的确切算法。

如果有人知道算法或任何来源,我可以从哪里得到算法,请指导我。请注意,我想提供基于工作负载的建议,而不是一个查询。提前谢谢。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2016-10-25 08:44:39

数据库优化顾问的精确算法没有文档化,但是通过使用服务器端跟踪查看它生成的命令,您可以稍微了解一下它是如何工作的。

我不知道它使用什么算法来确定要创建哪些算法,但它严重依赖于创建假设指标,然后使用无文档的DBCC AUTOPILOT来创建使用这些假设索引的执行计划。

我想,在某种程度上,它会比较产生的执行计划,以确定哪些执行计划的成本更低。

Daniel有一篇很棒的文章,解释了它是如何工作的,如果你真的想要的话,你可以手工完成:使用假设指标的服务器性能优化。

从这一页:

您正在调优查询,并需要检查新索引对性能的影响。但是该表有数百万行,创建索引需要很长时间。继续阅读,您将看到如何使用无文档的DBCC自动驾驶命令创建和测试假设的索引。

和

因为这是一个无文档的特性,所以没有关于它的信息,但据我所知,自动驾驶仪是数据库引擎优化顾问( DTA )的关键组件;这应该适用于可以使用DTA的所有版本。

票数 5
EN

Database Administration用户

发布于 2016-10-24 21:05:04

它不是公开的,也不是记录在案的,而且它是从服务器版本更改到版本。

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

https://dba.stackexchange.com/questions/153211

复制
相关文章

相似问题

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