计算机软考数据库系统工程师考试内容:数据库运行与管理(7)
2016-1-4编辑:guomu
数据库系统的性能调整
1)SQL语句的编码检验:通过DBMS提供的监控和统计功能,找出频繁执行的SQL语句并对其进行优化。步骤为,
(1)尽可能地减少多表查询或建立物化视图;
(2)以不相关子查询代替相关子查询;
(3)只检索需要的列;
(4)用带IN的条件子句等价替换OR子句;
(5)经常提交COMMIT,以尽早释放锁。
2)表设计的评价:首先要求关系都能符合3NF或BCNF,然后还要根据实际运行情况对表进行调整。
调整的原则是: 如果频繁地访问涉及的是对两个相关表进行连接操作,则将这两个表合并;
如果频繁地访问只是在表中的一部分字段上进行,则考虑分解表或将该部分单独拿出作为一个表;
对于很少更新的表,引入物化视图。
3)索引的改进:索引的调整原则如下,
如果查询是瓶颈--在关系上新建适当的索引,通常在作为查询条件的属性上建立索引可以提高查询效率;
如果更新是瓶颈--因为每次更新都会重建表上的索引,引起效率的降低,可以考虑删除某些索引;
选择适当的索引类型--比如经常使用范围查询,可以使用B树索引,比散列索引更高效;
将有利于大多数据查询和更新的索引设为聚簇索引。
4)设备的增强:高速的计算机、增加内存、高速网络设备、高速存储设备。
1)SQL语句的编码检验:通过DBMS提供的监控和统计功能,找出频繁执行的SQL语句并对其进行优化。步骤为,
(1)尽可能地减少多表查询或建立物化视图;
(2)以不相关子查询代替相关子查询;
(3)只检索需要的列;
(4)用带IN的条件子句等价替换OR子句;
(5)经常提交COMMIT,以尽早释放锁。
2)表设计的评价:首先要求关系都能符合3NF或BCNF,然后还要根据实际运行情况对表进行调整。
调整的原则是: 如果频繁地访问涉及的是对两个相关表进行连接操作,则将这两个表合并;
如果频繁地访问只是在表中的一部分字段上进行,则考虑分解表或将该部分单独拿出作为一个表;
对于很少更新的表,引入物化视图。
3)索引的改进:索引的调整原则如下,
如果查询是瓶颈--在关系上新建适当的索引,通常在作为查询条件的属性上建立索引可以提高查询效率;
如果更新是瓶颈--因为每次更新都会重建表上的索引,引起效率的降低,可以考虑删除某些索引;
选择适当的索引类型--比如经常使用范围查询,可以使用B树索引,比散列索引更高效;
将有利于大多数据查询和更新的索引设为聚簇索引。
4)设备的增强:高速的计算机、增加内存、高速网络设备、高速存储设备。