优化操作数据库及其访问应用的性能是数据库管理员(DBA)持续进行的挑战。当然,编写高效的SQL是确保数据库优化性能的最重要方面,但是对SQL的调整或系统的调优都无法优化针对设计不良或组织混乱的数据库运行的查询的性能。因此,必须花时间对数据库对象的设计、参数和物理结构进行调优和优化,特别是对表和索引以及存储它们数据的文件。如果数据库效率降低,必须不断监控数据库对象的实际组成和结构,并相应地进行变更。
为了应用适当的数据库优化技术,DBA必须对DBMS的许多方面有所了解。尽管可能名称不同,但大多数主要的DBMS都支持以下做法。以下每种技术都可以用于调优数据库性能:
-
分区 - 将单个数据库表分割成多个文件中的部分
-
原始分区与文件系统 - 选择是否将数据库数据存储在操作系统控制的文件中
-
索引 - 选择合适的索引和选项以实现高效的查询
-
反规范化 - 从逻辑设计中变化以获得更好的查询性能
-
聚类 - 强制磁盘上数据的物理顺序
-
交织数据 - 将多个表的数据合并到单个顺序文件中
-
空闲空间 - 留出数据增长的空间
-
压缩 - 通过算法减少存储要求
-
文件放置和分配 - 将正确的文件放在正确的位置
-
页大小 - 使用适当的页大小(或块大小)进行高效的数据存储和I/O