科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道解析:轻松接触有关索引优化的一些好建议

解析:轻松接触有关索引优化的一些好建议

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

可以在不影响数据库架构和应用程序设计的情况下除去、添加和更改索引。高效的索引设计对获得好的性能极为重要。正因为如此,应该尽量试验不同的索引。

作者:赛迪网 limeinan 来源:天新网 2008年3月27日

关键字: Mssql SQL SQL Server 数据库

  • 评论
  • 分享微博
  • 分享邮件

可以在不影响数据库架构和应用程序设计的情况下除去、添加和更改索引。高效的索引设计对获得好的性能极为重要。正因为如此,应该尽量试验不同的索引。索引优化向导可分析查询并建议应该创建的索引。

Microsoft® SQL Server® 2000 查询优化器在多数情况下可靠地选择最高效的索引。总体索引设计策略应为查询优化器提供更多的索引选择机会,并支持其做出正确的决定。这在各种情形下可减少分析时间并取得较好的性能。

不要总是将使用索引等同于好的性能,反之亦然。如果使用索引总能产生最佳性能,查询优化器的工作就太简单了。实际上,不正确的索引检索选择会导致比最佳性能差的结果。因此,查询优化器的任务是只在索引检索能提高性能时才选择使用索引检索,在其妨害性能时则避免使用。

关于创建索引的建议如下:

将更新尽可能多的行的查询写入单个语句内,而不要使用多个查询更新相同的行。仅使用一个语句,就可以利用优化的索引维护。

使用索引优化向导分析查询并获得索引建议。

对聚集索引使用整型键。另外,在唯一列、非空列或 IDENTITY 列上创建聚集索引可以获得性能收益。

在查询经常用到的所有列上创建非聚集索引。这可以最大程度地利用隐蔽查询。

物理创建索引所需的时间在很大程度上取决于磁盘子系统。需要考虑的重要因素包括:

用于存储数据库和事务日志文件的 RAID(独立磁盘冗余阵列)等级。

磁盘阵列中的磁盘数(如果使用了 RAID)。

每个数据行的大小和每页的行数。这将决定为创建索引须从磁盘读取的数据页的数目。

索引中的列数和使用的数据类型。这将决定必须写入磁盘的索引页的数目。

检查列的唯一性。

在索引列中检查数据分布。通常情况下,为包含很少唯一值的列创建索引或在这样的列上执行联接将导致长时间运行的查询。这是数据和查询自身的基本问题,通常不识别这种情况就无法解决这类问题。例如,如果物理电话簿按姓的字母顺序排序,而城市里所有人的姓都是 Smith 或 Jones,则无法快速找到某个人。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章