【问题标题】:Why machine learning for index advisor?为什么要为索引顾问进行机器学习?
【发布时间】:2016-09-22 19:05:15
【问题描述】:

我有一个多租户应用程序使用的数据库。最近我们遇到了数据库的一些性能问题。我认为添加一些适当的索引将解决这个问题。我阅读了有关 Azure SQL 顾问的信息。微软表示,他们正在分析使用模式并使用机器学习算法提供索引建议。我觉得我可以使用分析器来跟踪工作负载并使用 sql 调优顾问来获取索引建议。使用使用机器学习算法的 Azure SQL 顾问有什么优势?它有什么大不了的?

【问题讨论】:

    标签: azure-sql-database database-indexes sql-tuning


    【解决方案1】:

    机器学习算法(此处为顾问)将数据作为输入(此处为使用模式)并从中构建数学模型。该模型是数据的泛化。这种程序的应用可以是估计未来事件或优化行为(通过找到数学函数的最小值或最大值)。这里优化了索引推荐。

    当然,您可以自己解决问题。如果您是该问题的专家并且知道该怎么做,则不需要机器学习算法。该算法是为您完成工作的替代方案。谁的结果更好,一方面取决于输入数据和算法,另一方面取决于您的专业知识。

    【讨论】:

    • 如果我们试图自动化索引过程,使用机器学习算法有什么意义?微软可以收集工作负载并将其提交给普通的 sql 调优顾问并获得建议吗?为什么要学习?
    • @DeepanCool:索引只会使那些按索引列过滤的查询更快。因此,考虑到一般的工作量无助于为索引提供建议——我们需要知道完成了什么样的查询。机器学习算法正在考虑查询的类型来推荐索引。 “普通 SQL 调优顾问”是做什么的?它是否建议索引哪些列?如果是,基于什么?
    猜你喜欢
    • 2013-04-25
    • 1970-01-01
    • 2018-11-02
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 2011-06-04
    相关资源
    最近更新 更多