提高查询数据的性能
我负责的那个项目采用了webwork + spring + hibernate 的架构,用到了3个数据库.现在已经正是使用了,先庆祝一下
.用户反映速度很慢,说有时一个查询要等10秒左右,妨碍了他们的工作.他们这么一说,我就 开始找原因了.我以为是用了hibernate引起的,所以请教了我的朋友--waterYe. 问了他一些关于怎样优化hibernate.比如说用lazy load .可hibernate 3.0默认方式是lazy load.而且表间的关系是手工控制的.(好像对字段也能lazy load,不过我还没有实践过
).然后我把配置文件发给他让他给我看看.waterYe很快就发现了问题,他发现我没有使用数据库连接池(这个我一直到用了,怎么可能没有呢?).原来我在appllicationContext-hibernate.xml文件中用了"org.springframework.jdbc.datasource.DriverManagerDataSource"这个并没有提供连接池的功能.这个是我没有注意到的.我是用equinox新建的项目,我以为它用了连接池.以后学习过程中真要把它们吃透,一定要知其所以然.最后我改用了BasicDataSource.请参考
http://www.is.pku.edu.cn/blog/?date=2004-12-29&id=2&m=display .Water Yer 建议我用WEB服务的JNDI的方式会好些. 他还发现了一个问题就是我把很多ArrayList等数据放在了session中(其实我知道这样做肯定不好,可我不知到怎样把Action中的ArrayList的数据传的JSP页面中,
所以就用了session) ,朋友建议我改成放到request中(不知有没有更好的方法
).可修改完这些查询的性能没有明显的提高.
这个系统是一个比较重要的系统,对性能要求比较高.所以大家都很重视.所以我们的老大,也在为我想一些办法.今天一上班,就把我叫过去,一起讨论数据库优化.其实我也有想到过数据库方面肯定也是影响性能之一,还有就是网络阻塞.由于上星期五我就请假回家,时间非常紧张所以也没有忙过来.
老大说可能把存储过程改成视图可能会好点.然后我俩就把存储过程改成了视图来比较到底那个运行的速度快.可我们发现改完的效果不是很明显(差不多).由于连接到3个数据库,而且他们的数据也很多,请求处理的业务逻辑也很复杂,用到了5个存储过程.老大又提出,是不是创建索引可能会又效呢?我们又开始对所有表创建索引(请参考
http://www.vckbase.com/document/viewdoc/?id=1307).果真查询的速度很快了.客户也满意了,当然我也非常的高兴.又解决了一个问题.
所以遇到问题一定要从多方面来考虑,仔细想一想,多测试,多找资料,相信问题一定有解决办法.
分享到:
相关推荐
细菌世界历险记.pdf
吹牛大王历险记展示PPT课件.pptx
适合安卓软件下载使用,有精灵变换,碰撞检测,和边界检测,可以准确控制老虎的走向范围。增强用户体验,增强使用方位传感器来控制精灵的运动方向。在游戏中融入人工智能策略。
大班数学《魔女城历险记》乱七八糟的魔女之城教案反思.docx
App Inventor-零基础Android移动应用开发第六课:包含安安历险记的素材,源文件,说明文档。
7--[史莱姆历险记].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码7--[史莱姆历险记].zip源码scratch2.0 3.0编程项目源文件源码案例素材源代码7--[史莱姆历险记].zip源码scratch2.0 3.0编程项目源文件源码...
AppInventor零基础Android移动应用开发 安安历险记aia
14《登山》,之六登山赛车之朝天历险记.pdf
黄河源头历险记900字作文.docx
Word模板-丁丁历险记.wpt
【丁丁历险记】ESP8266/ESP32发送数据到微信 【丁丁历险记】Arduino IDE编译ESP8266/ESP32代码加密 【丁丁历险记】ESP32-CAM做图像识别 本节教大家快速开发ESP32-CAM做图像传输以及图像识别。 一、ESP32-CAM图像...
中文的兔宝宝历险记1 一起回忆同年吧- -。。
触屏Java游戏 乐乐鱼历险记.jar(含截图+源代码 )触屏Java游戏 乐乐鱼历险记.jar(含截图+源代码 )触屏Java游戏 乐乐鱼历险记.jar(含截图+源代码 )触屏Java游戏 乐乐鱼历险记.jar(含截图+源代码 )触屏Java游戏...
小班语言:丁丁历险记.docx
自己写的一个小游戏代码,希望能提高大家对C++的兴趣,游戏虽然很小,但还是很有研究价值
2D游戏小红历险记RedRunner完整模块四个关卡 参考:https://huanshj.blog.csdn.net/article/details/122696311
捉虫历险记——常见C++Bug大围剿.rar 捉虫历险记——常见C++Bug大围剿.rar
哈克贝利费恩历险记介绍PPT课件.pptx
《细菌世界历险记》阅读测试题
捉虫历险记——常见C++Bug大围剿捉虫历险记——常见C++Bug大围剿