代码之家  ›  专栏  ›  技术社区  ›  Prof. Falken

包含SQL索引提示如何影响查询性能?

  •  5
  • Prof. Falken  · 技术社区  · 17 年前

    假设我在sql2005数据库中有一个表,其中有2000000多条记录和一些索引。在查询中使用索引提示有什么好处?在查询中使用索引提示有什么缺点吗?

    4 回复  |  直到 17 年前
        1
  •  3
  •   Gordon Bell    17 年前

    首先,尝试使用SQLProfiler在数据库中为几个小时内的正常工作负载生成一个.trc活动文件。然后使用SQLServerManagementStudio工具菜单上的“数据库引擎优化顾问”来查看它是否建议使用任何其他索引、复合索引或覆盖索引。

    我从不使用查询提示,主要处理数百万行数据库。它们有时会对性能产生负面影响。

        2
  •  3
  •   jball    16 年前

    根据我的经验,我发现需要索引提示的情况并不常见,我相信我今天可能有2-3个查询使用了它们。。。。正确的索引创建和数据库优化应该可以让您获得执行数据库的大部分时间。

        3
  •  2
  •   Mike McAllister    17 年前

    只有当查询涉及到连接表,以及用于连接到另一个表的列与多个索引匹配时,索引提示才会起作用。在这种情况下,数据库引擎可能会选择使用一个索引进行连接,通过调查您可能知道,如果它使用另一个索引,则查询的性能会更好。在索引引擎的情况下告诉你使用哪个索引。

        4
  •  1
  •   boes    17 年前

    我的经验是,有时您对数据集的了解要比SQLServer多。在这种情况下,您应该使用查询提示。换句话说:你帮助优化器决定。

    只有在分析了查询计划之后才能使用它们。如果您认为使用另一个索引或以不同的顺序使用查询可以更快地运行,请给服务器一个提示。