如何提高或优化数据库性能
-
背景
今天处理SQL语句的时候,在选择时间范围的时候,发现在本月的时候,查询速度变得异常的慢,甚至会出现超时的情况,以往没有出现这样的情况,以为是查询语句的问题琢磨了半天,发现毫无用处……幸好通过大神的指导,了解到了通过重建索引可以解决问题 -
索引的用处
大多数SQL Server表需要索引来提高数据的访问速度,如果没有索引,SQL Server 要进行表格扫描读取表中的每一个记录才能找到索要的数据。索引可以分为簇索引和非簇索引,簇索引通过重排表中的数据来提高数据的访问速度,而非簇索引则通过维护表中的数据指针来提高数据的索引 -
DBCC DBREINDEX 用法
重建指定数据库中表的一个或多个索引。
语法
DBCC DBREINDEX
( [ 'database.owner.table_name'
[ , index_name
[ , fillfactor ]
]
]
)
参数
‘database.owner.table_name’
是要重建其指定的索引的表名。数据库、所有者和表名必须符合标识符的规则。有关更多信息,请参见使用标识符。如果提供 database 或 owner 部分,则必须使用单引号 (’) 将整个 database.owner.table_name 括起来。如果只指定 table_name,则不需要单引号。
index_name
是要重建的索引名。索引名必须符合标识符的规则。如果未指定 index_name 或指定为 ’ ',就要对表的所有索引进行重建。
fillfactor
是创建索引时每个索引页上要用于存储数据的空间百分比。fillfactor 替换起始填充因子以作为索引或任何其它重建的非聚集索引(因为已重建聚集索引)的新默认值。如果 fillfactor 为 0,DBCC DBREINDEX 在创建索引时将使用指定的起始 fillfactor。
通过今天的问题,学习了一个新技术,通过索引来提高数据库的访问速度,今天也算收获颇多,哈哈哈哈哈
参考资料
转:
https://www.cnblogs.com/bluedy1229/p/3227167.html