怎样提高数据库的性能
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的工作效率会变得很低。