ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

数据库运行维护与优化

数据库运行维护与优化 数据库运行维护基本工作数据库维护工作主要包括数据库的转储与恢复数据库的安全性、完整性控制检测并改善数据库的性能数据库的重组和重构数据库重组是指按照系统设计要求对数据库存储空间进行全面调整如调整磁盘分区方法和存储空间重新安排数据的存储整理回收碎块等以提高数据库性能。数据库的重组并不修改数据库原有设计的逻辑结构和物理结构而数据库的重构则不同它是指部分修改数据库的模式和内模式。数据库的重构是指由于数据库应用环境的不断变化增加了新的应用或新的实体取消了某些应用有的实体与实体间的联系也发生了变化等使得原有的数据库设计不能满足新的需求此时需要调整数据库的模式和内模式。运行状态监控与分析对数据库构架体系的监控主要监控内容空间基本信息、空间使用率与剩余空间大小、空间是否具有自动扩展的能力、哪些表的扩展将引起空间的扩展以及段的占用空间与区间数等。对数据库性能的监控数据缓冲区的命中率、库缓冲、用户锁、锁与等待、回滚段、临时段使用情况、索引的使用情况、等待事件和共享池等。数据库性能优化调整一个数据库应用系统的性能要求熟悉系统环境、数据库管理系统、应用程序以及应用程序所使用的数据。数据库性能优化一般可以从数据库运行环境、数据库参数调整、模式调整、数据库存储优化及查询优化几个方面考虑。将系统的存储冗余方案从RAID0改为RAID1可以加强系统的可靠性但没有提高数据库的读写能力。将数据库的存储冗余机制从RAID5改为RAID1可以提高数据库写性能。数据库运行环境与参数调整外部调整①CPU对于一台数据库服务器来说如果其在业务空闲时使用率超过90%说明服务器缺乏CPU资源如果工作高峰时CPU使用率仍然很低则说明服务器CPU资源充足。②网络调整内存分配调整磁盘I/O调整竞争模式调整与优化增加派生冗余列派生性冗余列是指表中增加的列由表中的一些数据项经过计算生成。它的作用是在查询时减少连接操作避免使用聚合函数。由于增加了派生性冗余字段破坏了规范化原则该方法实施后的关系模式将不符合第三范式要求。分割表分割表分为水平分割表和垂直分割表两种。水平分割是根据数据行的使用特点进行分割分割之后所得的所有表的结构都相同。水平分割会给应用增加复杂度特别在查询所有数据时需要Union并操作。垂直分割是根据数据列的特点进行分割分割之后所得的所有表中除了都含主码列外其余列都不相同。其缺点是查询所有数据时需要Join连接操作。存储优化物化视图物化视图使包括一个查询结果的数据库对象(可由系统定期刷新其中的数据)物化视图不是在使用时才读取而是预先计算并保存表连接或聚集等耗时较多的操作结果这样在查询时大大提高了读取速度特别适用于多个数据量较大的表进行连接操作及分布式数据库中需要进行分布在多站点的表进行连接操作时使用。物化视图对于数据库客户端的使用者来说如同一个实际的表具有和表相同的一般select操作而其实际上是一个视图一个定期刷新数据的视图。物化视图是通过占用额外的存储空间来提高查询性能的。因此使用物化视图实际上是降低了空间利用率。物化视图是一种空间换时间的方法物化视图是独立于基础表的数据库对象删除一个物化视图只是删除了这个预先计算好的查询结果集并不会影响基础表中的数据。查询优化合理使用索引索引是数据库中重要的数据结构建立索引的目的就是为了提高查询效率。索引的使用要恰到好处其使用原则一般如下经常在查询中作为条件被使用的列应为其建立索引。频繁进行排序或分组(即进行group by或order by操作)的列应为其建立索引。一个列的值域很大时应为其建立索引。如果待排序的列有多个应在这些列上建立复合索引。可以使用系统工具来检查索引的完整性必要时进行修复。使用索引I的原则5. 在需要经常搜索的列上创建索引。6. 主键上创建索引。7. 经常用于连接的列上创建索引。8. 经常需要根据范围进行搜索的列上创建索。9. 经常需要排序的列上创建索引。10. 在where查询子句中引用效率高的列上创建索。11. 在Order By子句、Group By子句中出现的列上建立索引。例当数据库表更新大量数据后 删除并重建索引也可以提高查询速度。通常关系数据库管理系统中使用B树作为索引某些系统也提供散列索引。B树索引支持作为搜索码的属性上的等值查询和范围查询。散列索引根据HASH算法构建索引所以检索速度很快但不能用于范围查询列索引适用于等值查询尤其是在连接操作中查询匹配记录时。常见能提高连接操作性能或者减少连接操作的是增加冗余列指在多个表中增加具有相同语义的列它常用来在查询时避免连接操作反规范化也就是降低表的规范化程度减少表间的连接提高查询性能对于经常需要进行查询、连接、统计操作且数据量大的基本表可以建立索引提高查询效率聚集文件可以提高频繁进行多表连接操作的查询效率。数据库管理员(DBA)日常管理工作有系统监控与分析系统性能优化调整系统进化(升级)并发控制存储空间管理安全性维护完整性维护备份与恢复等恢复数据库数据以核查问题为了保证安全定期修改数据库用户的密码更换数据库服务器以提高应用系统运行速度调整数据库用户权限新建索引以提高查询速度监控数据库用户连接数监控并处理事务死锁数据库管理系统补丁安装服务器操作系统补丁安装×监控数据库运行状态数据库的重组与重构数据出现问题时恢复数据库数据以核查问题监控数据库空间使用情况调整存储空间分配使用开发人员提供的SQL语句初始化数据库中的表×系统上线时进行数据装载×整理初始数据并加载到数据库中×确定数据库软件选型和版本×数据库服务器网络是否通畅×根据用户要求对应用程序从功能上进行扩充和完善×
返回列表