锁定老帖子 主题:请教,需要处理的数据量太大怎么办?
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-08
请教,需要处理的数据量太大怎么办? 情况是这样的: 数据库中有几个表, 每个表记录都超过10万条, 在查询时需要交叉连接查询(outer join)三个表,这就造成数据库会生成一千万条以上记录的情况,所以这样每查询一次都需要两秒以上时间.像这样的查询客户每次请求都需要执行好几百次,所以要等十几分钟才能结束. 有什么样的方法可以让数据库运行速度快一点吗? 数据库结构是不可以修改的. 这是为一个特种行业做科学计算的程序,以后数据量还在不断增大,数据库PSQL安装在LINUX系统上面内存2G,CUP3.0,服务器硬盘. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-12-08
补充一下:由于数据库中表结构的范式较高,并且字段很多,所以是通过Hibernate来对数据进行多表级联查询管理的.
|
|
返回顶楼 | |
发表时间:2006-12-08
一千万条以上记录的查询查询两秒的话 感觉不慢吧可不可以把用户的执行请求分开成几个操作让用户每操作一步,都能感觉到一些变化得到一定的信息量,再一个去掉没用的层多用些过程式的编程风格,看看能不能多写点存储过程,这种大数据量的系统强调效率的系统基本上还是少OO点多用点过程式的方法比较好
|
|
返回顶楼 | |
发表时间:2006-12-08
真有胆量 敢用这种名字
|
|
返回顶楼 | |
发表时间:2006-12-08
优化SQL指令 增加内存和CPU 换个好的数据库及找个好的DBA |
|
返回顶楼 | |
发表时间:2006-12-08
数据库可以做成分布式的吗?
花钱一向是客户最不喜欢听到的,所以换个更大更贵的,暂先不考虑. 用磁盘列阵,加快读盘速度,上多个CPU,也是可以的,但我还想多知道点别的. |
|
返回顶楼 | |
发表时间:2006-12-08
做业务上的调整
|
|
返回顶楼 | |
发表时间:2006-12-08
为什么是外连接?看上去还是full outer join,真有必要这么做么?
把你的理由说来听听。 如果可以,不要做full outer join,很慢。 |
|
返回顶楼 | |
发表时间:2006-12-08
不是全部交叉,只是左外连接.
顺便说一下 4楼叫 ddandyy 形象照片好漂亮呀,是您本人吗? |
|
返回顶楼 | |
发表时间:2006-12-08
要查询几百次的话肯定慢,不能合并到一起吗?大数据量的话最主要的是硬盘速度,可以提高硬盘系统的速度试试。
|
|
返回顶楼 | |