Board logo

标题: 怎样提高数据库的性能 [打印本页]

作者: 超级恐龙    时间: 2006-5-14 14:02     标题: 怎样提高数据库的性能

1、在动态SQL或有时间限制的命令中使用Statement对象   
  无论多少次地使用同一个SQL命令,PreparedStatement都只对它解析和编译一次。当使用Statement对象时,每次执行一个SQL命令时,都会对它进行解析和编译。因此,在有时间限制的SQL操作中,除非成批地处理SQL命令,我们应当考虑使用Statement对象。   
  此外,使用Statement对象也使得编写动态SQL命令更加简单,因为我们可以将字符串连接在一起,建立一个有效的SQL命令。  

2、利用PreparedStatement对象提高数据库的总体效率   
  在使用PreparedStatement对象执行SQL命令时,命令被数据库进行解析和编译,然后被放到命令缓冲区。然后,每当执行同一个PreparedStatement对象时,它就会被再解析一次,但不会被再次编译。在缓冲区中可以发现预编译的命令,并且可以重新使用。在有大量用户的企业级应用软件中,经常会重复执行相同的SQL命令,使用PreparedStatement对象带来的编译次数的减少能够提高数据库的总体性能。  

3、在成批处理重复的插入或更新操作中使用PreparedStatement对象   
  如果成批地处理插入和更新操作,就能够显著地减少它们所需要的时间。原因上面已经解释了  

4、使用存储过程  
     把复杂的数据库处理交给后台,这样程序处理数据的消耗就很小;程序只要调用这些存储过程就可以了。  

5、尽量减少数据库连接次数  
     能够在一个SQL语句里面处理,尽量一次处理完成。  

6、建立索引  
     这一点就不用说了,为了提高查询速度是必须的。  

7、注意异常处理  
       如果程序即使遇到了异常,也要正确释放占用的资源。为此,Java提供了一个简化这类操作的关键词finally。  不管是否出现了异常,finally保证在try/catch/finally块结束之前,执行清理任务的代码总是有机会执行。所以关闭数据库的操作要在finally中间完成。  

这是找到的一些资料,以及自己在开发中得到的教训,如果数据库的操作没有做好,Webserver的工作效率会变得很低。




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0