当前位置:首页>>新闻动态 >> 网站建设之数据库如何优化

网站建设之数据库如何优化

作者:原创   发布时间: 2012-07-03 15:11:33

数据库优化是一门复杂的学问。数据库引擎优化顾问用于分析在一个或多个数据库中运行的工作负荷的性能效果。分析数据库的工作负荷效果后,数据库引擎优化顾问会提供在数据库中添加、删除或修改物理设计结构的建议。这些物理性能结构包括聚集索引、非聚集索引、索引视图和分区。实现这些结构之后,数据库引擎优化顾问使查询处置器能够用最短的时间执行工作负荷任务。那么网站建设如何优化数据库呢?沈阳网站建设告诉你

  1 一定要在主键上建聚集索引吗

  但也有一些例外的情况我需要把聚集索引建在其他列上,通常情况下sqlserver会自动给主键加上聚集索引。例如我用到表分区,而分区的字段不是主键,这时候就需要将聚集索引建在分区的列上。另外如果查询时根据主键查询较少,而根据其他列的查询较频繁,则也可以考虑将聚集索引建在非主键上。单需要注意的聚集索引的列必须是不易变的列,如果聚集索引变了一会引起聚集索引内的记录的搬迁,造成页page分离与碎片;二会引起每一个非聚 集索引被修改,以便于所有相关的非聚集索引的行的索引键的值被纠正。这既浪费时间和空间,也导致需要整理的碎片,增加了不必要的开销。

  2 对什么列建索引

  除了这个索引之外还需要在哪些列上建索引呢?这个问题只能具体情况具体分析,数据库默认情况下会对主键建聚集索引。要看需要优化的sql语句(通常是查询次数多,查询相应想要高的语句)根据什么列的条件进行查询。

  3 索引的个数问题

  除非你完全不在乎修改数据的效率。另外sqlserver自身会对索引的数量和索引的数据长度有限制,索引提高查询效率是以降低更新、拔出、删除的速度为代价的每当索引列发生变化时都需要对索引数据进行相应的调整。所以一个表上不可以建太多的索引。

  4 复合索引要注意列顺序

  A列的叶节点上才会开始根据B列建二叉树。所以包括两个列的索引就需要根据查询条件所在列来决定两个列在索引中的顺序。索引在数据库中是以二叉树的形式存储的包括A,B两个列的索引会首先根据A列建二叉树。

  5 必要时重建索引

  网站建设运行Sqlserver一段时间之后就会形成一些索引碎片,这时候就需要重建索引了,有时候重建索引可以起到意想不到效果。
 

沈阳网络公司