【问题标题】:SQL Server Data Optimization TechniquesSQL Server 数据优化技术
【发布时间】:2013-03-13 06:27:20
【问题描述】:

我想在我的 SQL 数据库上实施一种数据优化技术。 我更喜欢先创建索引,为此我使用了 Tuning Advisor。 调优顾问向我推荐了许多非聚集索引。

我应该创建所有这些索引来提高性能吗?或者可以创建那些尺寸较小的?

请建议我..因为我对这个领域很陌生..

【问题讨论】:

  • 在创建索引之前,您需要知道哪些查询需要很长时间才能执行并且被称为频繁。使用分析器
  • @Sergio - 感谢您的快速回复。就我而言,1.我暂时有千位数的数据,但应用程序性能仍然不佳。 2.在大多数页面中,我在网格层次结构中显示数据,它从一个网格中获取输入并填充层次结构。你能在这种情况下指导我吗?

标签: sql-server indexing


【解决方案1】:

关于您在实施索引方面的问题,您必须知道,监控和智能响应索引使用需求的第一步是收集和维护一个简单易用的索引使用指标数据集。

此数据集应允许您快速搜索可能考虑删除或更改索引的常见场景:

  • 未使用的索引
  • 最少使用的索引
  • 写入的索引远多于读取的索引
  • 经常被扫描但很少成为搜索目标的索引
  • 非常相似且可以组合的索引

SQL Server 提供跟踪所有索引使用情况的动态管理视图:sys.dm_db_index_usage_stats

此视图是针对索引的操作的累积总数,并在 SQL Server 服务重新启动时重置。

想了解更多,请参考这篇文章https://www.sqlshack.com/sql-server-index-performance-tuning-using-built-in-index-utilization-metrics/

【讨论】:

    【解决方案2】:

    我建议您在尝试实现任何东西之前多阅读一下这个主题,因为如果应用不当,这实际上可能会造成负面影响。

    您关于实施索引的问题缺少额外的数据。正如其他人已经指出的那样——在实现索引之前,您需要查看最常用的查询。否则可能只会导致降级。

    这里有一些文章可以帮助您入门。

    https://www.simple-talk.com/sql/performance/

    http://www.codeproject.com/Articles/22853/SQL-Server-Performance-Tips-and-Guidelines

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-08
      • 1970-01-01
      • 2023-03-08
      相关资源
      最近更新 更多