最近因为某些原因不得不重新配置服务器的环境,当然就是一些简单的程序运行环境,包括tomcat 、oracle和其他的一些。原本觉得还蛮简单的东西,但是当我部署完成后在运行程序的过程中发现了一些隐性因数。特别让我郁闷的就是同一个sql,同样的数据量在两个不同的数据库中执行时间那是一个天壤之别,当时跟网上查询了一下,得到一下结论:
发生的原因:
1.内存
2.数据库的优化方式和优化级别
3.I/O吞吐量
4.操作系统参数(缓冲池、进程内存)
5.索引的创建和使用
解决方法:
1.调整数据库内存:
sqlplus /nolog;
connect
/
as
sysdba;
show parameter sga; (查看内存占用情况)
alter
system
set
sga_max_size=2048m scope=spfile;
注意:sga_max_size不能大于memory_target,不然数据库启动失败。
2.对比数据库之间的索引,判断是否正常引用索引
3调整数据优酷的优化方式和优化级别
4、更改系统设置,增大I/O吞吐量
5、查看操作系统参数
这些是目前所能想到了,如果以后还想到了其他的原型在进行修改