新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > sql server教程 > 正文:解析:轻松接触有关索引优化的一些好建议

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

新客网 XKER.COM 2007-10-23 来源: limeinan 收藏本文

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

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

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

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

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

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

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

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

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

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

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

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

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

检查列的唯一性。

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

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐