Oralce 密集数据插入问题!

edotcom1971 2004-10-17 12:06:46
本系统采用Oralce 9i, 服务器为HP ML570,140G SCSI硬盘,2G内存,目前已经基本实现每秒插入数据1000条,持续3小时(该表有两个号码索引),无法进一步提高(流量及存量)。
哪位DX有类似经历,能否告知极限情况,以免XD还埋头苦干却无功!
...全文
90 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
edotcom1971 2004-10-24
  • 打赏
  • 举报
回复
情况是这样:
这是一个一直在线的系统,不可以停库,且整个插入过程是一直持续的,每天中午插入数据量最高,凌晨则最低。
XD也试过去除索引,插入速度大大提高接近7000条每秒,但随之而带来的问题则是查询速度无法忍受,必须全表扫描(总数据量达上亿条每天)。当然我们使用的按天划分的分区表(LOCAL INDEX)。

目前数据分散到了5台数据库插入,虽然解决了插入瓶颈,但查询时需要查找5个库,其速度也是很慢。

曾经有人建议使用物化视图,放在1台机器上查询,但XD对物化视图不甚了解,未敢使用。

也曾想过使用sql loader,但的确如yxsalj所说“然后建索引也是痛苦的事情”。

关于表空间,目前索引表和数据表的表空间是分离的,且映射到了不同的通道和磁盘。

关于多CPU,目前我们使用了2颗CPU,SAR到的结果是CPU利用率仅5%,纳闷!
KingSunSha 2004-10-22
  • 打赏
  • 举报
回复
没有统一的所谓的极限情况。

插入的速度取决于很多因素,比如表结构,越大的表当然插入纪录越慢;索引的数量和大小;硬盘io速度;多cpu情况下是否启用了parallel等等。

希望楼主把情况说明得更详细一些
yxsalj 2004-10-21
  • 打赏
  • 举报
回复
用sql load怎么样?
插入数据,然后建索引也是痛苦的事情
qiyousyc 2004-10-20
  • 打赏
  • 举报
回复
1、如果非要索引,将索引建立在另外的表空间中。

2、最好不要索引,插入完成后在重新建立索引。



当然必须调整优化你的数据库参数。
lialin 2004-10-20
  • 打赏
  • 举报
回复
如果你在这个过程中不需要查询的话,最好把索引删除,这样会提高不少,等这个时间过去再加上索引!
wyspgbj2000 2004-10-20
  • 打赏
  • 举报
回复
优化是多方面的,首先是你的程序,再有数据库系统参数,数据文件存储系统。总之你说的优化单单一个方面很难说的清楚!
Kamus 2004-10-20
  • 打赏
  • 举报
回复
所谓优化得有个目标
你要作什么?单纯为了达到一个极限?
相关推荐
发帖
Oracle 高级技术

3472

社区成员

Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
帖子事件
创建了帖子
2004-10-17 12:06
社区公告
暂无公告