转自:http://blog.csdn.net/ylqmf/article/details/5368903
一、
主键与聚集索引并不是一对一匹配的
一般情况下我们都认为,
聚集索引和主键是相互匹配的,
因为只要你在SQLServer
表中定义了一个主键,
那么SQLServer
会为这个主键自动添加聚集索引.
但是,
如果你先在表中基于任意一列建立聚集索引,
然后再选择另一列作为主键,
这时,
这个SQLServer
将会基于这个主键建立一个唯一非聚集索引.
二、
聚集索引会被应用到每个查询中
一个SQLServer
表内,
最多只能有一个聚集索引,
并且表中数据行存储的位置由聚集索引来决定.
表中非聚集索引与数据行的映射,
是通过聚集索引来定位的.
当聚集索引执行插入操作时,
数据表中的行要进行移动,
同时该表中所有非聚集索引要重新排列,
这是非常消耗资源并且影响SQLServer
响应速度的.
所以SQLServer
表中的聚集索引一定要避免新添加数据时执行插入操作,
保证表中新添加的数据是从索引的尾部追加的.
这样做可以保证聚集索引相对静态,
对非聚集索引的影响也会减小.
创建聚集索引时,
要选择那些数据会不断增加的字段,
最好的例子就是bbs
发帖表中,
帖子发布时间,
这个字段中的数据是随时间增长的,
理论上讲是不会重复的,
最适合建立聚集索引.
如果你的聚集索引真的做到了不断增加,
那么它的填充因子就应该是
100%
,
这个数值越高,
每个8KB
大小的索引页记录的行数就越多,
进行相同的扫描时IO
、内存和CPU
资源就用的越少,
换句话说就是查询效率更高.
三、
聚集索引的数据类型位宽将影响查询效率
聚集索引列的数据类型位宽越小,
查询效率越高,
并且由于非聚集索引是依靠聚集索引来影射SQLServer
表中数据行的,
聚集索引的位宽必将影响表中所有非聚集索引的大小.
通常适合作为聚集索引的类型包括:
Smallint,int,bigint,datetime
和
UNIQUEIDENTIFIER
.
分享到:
相关推荐
【SQL Server数据库优化方案】 SQL Server是微软公司提供的一个全面的数据库管理系统,它涵盖了数据库创建、开发和管理的所有方面。随着信息技术的飞速发展,数据库技术的需求也在不断增长,SQL Server在众多领域...
描述中提到的"sqlserver转oracle"则是指将SQL Server数据库的内容迁移到Oracle数据库的过程。这个过程涉及到SQL语法的转换,因为SQL Server和Oracle虽然都遵循SQL标准,但各自的语法特性和函数库有所不同。例如,SQL...
### SQL Server 数据库优化之50种方法 在IT领域,特别是对于数据库管理...在实际工作中,还需要根据具体的业务场景和系统架构来制定更加细致的优化方案。希望本文能够为您的SQL Server性能调优工作提供有价值的参考。
### SQL Server 索引设计与优化 #### 索引的重要性 ...通过上述内容的学习,读者不仅能够深刻理解SQL Server索引的设计原理和技术细节,还能够掌握一系列实用的索引优化技巧,从而显著提高数据库系统的整体性能。
### SQL Server SQL优化 #### 一、SQL优化的重要性与原则 在SQL Server的实际运行过程中,随着数据量的增长和用户访问频率的提升,数据库性能问题逐渐显现。根据所谓的“二八法则”,即大约20%的慢查询消耗了系统...
因此,理解和合理利用聚集索引与非聚集索引的区别,以及根据业务需求选择合适的索引策略,是SQLSERVER数据库优化的关键。在设计数据库时,应充分考虑查询模式、数据更新频率以及表的大小,以制定出最适合的索引方案...
此外,SQL Server提供了诸如查询执行计划、性能监视器和索引优化向导等工具,可以帮助数据库管理员更高效地进行查询优化。通过综合运用这些技术和工具,可以有效地提升SQL Server数据库的性能和响应速度。
SQL Server数据库优化方案 SQL Server是微软公司推出的一款强大的关系型数据库管理系统,它在信息化进程中扮演着关键角色,尤其在当前信息技术快速发展的时代,数据库优化显得尤为重要。优化SQL Server数据库可以...
【SqlServer 索引自动优化工具】是一种针对大型数据库中大量表进行索引优化的解决方案。在描述中提到的情况,项目目标是优化一万多个表的索引,包括完善有效索引和移除无效索引,但因人力资源有限,手动操作不可行,...
通过对SQL Server查询和索引的优化,不仅可以显著提升数据库的性能,还能有效降低系统的运行成本。实践证明,合理的SQL编写习惯与良好的索引管理策略是实现这一目标的关键。此外,定期审查并调整现有的SQL脚本与索引...
1. **索引优化**:没有索引或未有效利用索引会导致查询速度显著下降。创建合适的索引可以加快数据检索,但要注意避免过度索引,因为索引维护也会消耗资源。建议对频繁查询的列以及主键和外键创建索引,避免在值分布...
优化过程中需要考虑全文索引的存储和管理方式,这些索引存储在SQL Server外部,大部分的全文查询处理由MSSearch完成。因此,如何合理配置和使用MSSearch是优化全文索引性能的关键。 在全文索引的组件结构中,关系...
《SQL Server学习手册》与T-SQL优化方案详解 SQL Server 2008作为Microsoft公司的一款企业级数据库管理系统,广泛应用于数据存储、处理和分析。对于任何希望深入理解和掌握SQL Server的人来说,全面了解其基础知识...
【SQL Server数据库优化方案】 SQL Server是微软公司提供的一个全面的数据库管理系统,它在现代信息技术环境中扮演着重要的角色。随着数据库技术的不断发展,对数据库性能的要求也在不断提升,SQL Server也不例外。...
在索引优化方面,需要注意以下几点: - 关键字段建立索引:如经常用于查询条件的字段。 - 合理的索引设计:基于对数据库使用情况的分析和预测,选择合适的索引类型。 - 群集索引和组合索引的选择:根据查询模式的...
SQL Server 2000数据库优化方案主要针对数据库性能低下、查询速度慢等问题,通过一系列技术和策略提升数据库的运行效率。以下是对这些优化方法的详细解释: 1. **索引优化**:没有索引或未有效利用索引是查询慢的...
"sqlserver 优化1.txt"和"sqlserver 优化2.txt"可能是两个独立的文本文件,分别详述了不同的优化策略。可能包括索引管理(如创建非聚簇索引、覆盖索引和空间索引)、存储过程的使用、事务管理、并发控制以及SQL ...
- **索引和查询优化**:SQL Server可能需要不同的索引策略和查询优化技术,迁移后可能需要重新评估和调整。 7. **日志和备份**: - **SQL Server的日志和备份机制**:SQL Server有其独特的日志和备份系统,需要...
### SQL Server索引设计与调优技术大全 #### 一、引言 SQL Server作为一款广泛使用的数据库管理系统,其性能的高低直接影响着企业的业务效率。其中,索引的设计与优化是提升SQL Server性能的关键环节之一。合理的...