|
|
|
数据库维护人员根据用户需求和监测结果对数据库性能进行调整和优化,如执行空间释放、表的重构、索引重建、数据分片等操作。
|
|
|
|
|
|
事务日志文件记录着用户的各种数据库操作,对于用户操作频繁的数据库,其事务日志空间膨胀速度非常快,数据库维护人员需定期检查事务日志的大小,减少磁盘空间的耗用。以SQL Server2008数据库管理系统为例,压缩数据库。一般步骤如下。
|
|
|
|
在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。
|
|
|
|
|
|
|
|
方案二:部分命令模式+任务-收缩-文件(单个数据库)
|
|
|
|
|
|
右键-任务-收缩-文件-确定,数据库的日志只保留了1MB,如下图所示。
|
|
|
|
|
|
|
|
|
|
优点:清除日志所运行消耗的时间短,90GB的日志在几分钟左右即可清除完毕,做完之后做个完全备份在几分钟内即可完成。
|
|
|
|
缺点:此动作最好不要经常使用,因为它的运行会带来系统碎片。普通状态下LOG和DIFF的备份即可截断日志。
|
|
|
|
此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用。
|
|
|
|
|
|
对数据库中不断被更新的表,在经过一段事件的处理之后便出现以下问题:表中存在记录的转移,表的数据页中存在未回收的空间,表中的扩充不连续等;同时,数据字典中有关表的统计信息已不能准确反映表中数据的真实情况,优化器使用这些不准确的统计信息,就不能为相关SQL语句生成合理的执行计划。
|
|
|
|
对不断被更新的表,数据库管理员应当定期地或者在大批量的数据处理之后重新收集表的统计信息,检查表中数据及磁盘空间使用。如果发现大量记录的转移、未回收的空间,就需要重新构建表。在重构表时,首先需要导出表中数据,在删除并重建表后再装入数据。
|
|
|
|
|
|
索引是提高数据查询最有效的方法,正确的索引可能使效率提高很多,而无效的索引可能是浪费了数据库空间,甚至大大降低查询性能。针对有频繁的插入/更新/删除操作的表,表和索引将产生较多的碎片,索引将变得非聚簇,性能也将下降,严重的时候会产生索引阻塞等问题,为此需要进行索引重建。索引重建的方法一般有两类:一种是删除并重建索引,如采用DROP INDEX和CREATE INDEX或ALTER TABLE来删除并重建索引;另一种是在现有索引的基础上进行重新整理,如采用DBCC INDEXDEFRAG按照索引键的逻辑顺序,通过重新整理索引里的页来减少外部碎片,通过压缩索引页里的行并删除那些由此产生的不需要的页来减少内部碎片。
|
|
|
|
|
|
数据分片是将海量数据根据一定的规则分布在多个存储设备上,这样每个存储设备的数据量相对就会小很多,由此实现并行的读/写操作,满足读/写量大的系统的性能需求。系统分片的策略有很多,如按记录编号的特征、按数据的时间范围、基于检索表等。这些数据分片策略之中没有哪个有绝对的优势,选择哪种策略完全是根据系统的业务或数据特征来确定的。值得强调的是:数据分片在对系统的性能和伸缩性带来一定好处的同时,也会大大增加系统开发和维护的复杂度。因此,数据分片只在特殊需要的时候才做,它带来的维护复杂度会比集中存储的方式高出很多。
|
|
|