huangcm 发表于 2007-4-14 20:47:42

数据库系统的性能调整

1)SQL语句的编码检验:

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

[ 本帖最后由 huangcm 于 2007-4-14 20:49 编辑 ]

彭志 发表于 2012-6-4 17:09:59

顶    好帖子
页: [1]
查看完整版本: 数据库系统的性能调整