51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4042|回复: 1
打印 上一主题 下一主题

[资料] 数据库系统的性能调整

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 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 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-6-4 17:09:59 | 只看该作者
顶    好帖子
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-8 14:46 , Processed in 0.059200 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表