|
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 编辑 ] |
|