大数据量表索引太多,load花费时间太长怎么优化啊?

有个1300万数据的表,28个字段,14个有索引,往里头load的时候,都得花十几分钟,在不减少索引个数的情况下,怎么才能减少load花费的时间啊?各位大神都有啥子诀窍啊?我们想在load前把索引去了,然后load完成后再加上索引,能不能提高效率啊?以前有没有试过类似操作啊?

...全文
448 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yumao 2013-03-18
  • 打赏
  • 举报
回复
引用 楼主 xiaoniqiu 的回复:
有个1300万数据的表,28个字段,14个有索引,往里头load的时候,都得花十几分钟,在不减少索引个数的情况下,怎么才能减少load花费的时间啊?各位大神都有啥子诀窍啊?我们想在load前把索引去了,然后load完成后再加上索引,能不能提高效率啊?以前有没有试过类似操作啊?
一次性LOAD用十多分钟时间不多呵! 如果是经常性的, 能做差异性LOAD吗? 例如1300万条已LOAD了, 以后只需LOAD新增或被修改的. 都不能的话, 那只能快换硬盘了.
扶瑶直上 2013-03-15
  • 打赏
  • 举报
回复
如果联机要访问这个表的话,去掉索引会影响正常系统的运行,得不偿失啊。还有你这个表是有存量数据的吗?如果有有多大的数据量。如果只是空表来做load,而且联机不访问,那去掉索引load当然可以的。
wwwwb 2013-03-15
  • 打赏
  • 举报
回复
甚至新建索引有可能比直接带索引load还要慢 呵呵,在MYSQL下也测试过,带索引load比去掉索引后LOAD再建立索引要快一些
  • 打赏
  • 举报
回复
试过了,先把索引去了,load数据是很快,但是添加索引的地方会特别的慢,时间加起来,两个差不多,甚至新建索引有可能比直接带索引load还要慢。由于硬件规划问题,索引都在一个表空间上,基本没有调整的可能,其他表关联查询的也多,没法去索引又。
wwwwb 2013-03-15
  • 打赏
  • 举报
回复
引用 7 楼 xiaoniqiu 的回复:
有300万存量,每天批量时候需要向其中load900万数据,跑批的时候是没有其它任务访问的。
这种情况,建议去掉索引,再LOAD,结束后建立索引
  • 打赏
  • 举报
回复
试过了,先把索引去了,load数据是很快,但是添加索引的地方会特别的慢,时间加起来,两个差不多,甚至新建索引有可能比直接带索引load还要慢。
  • 打赏
  • 举报
回复
有300万存量,每天批量时候需要向其中load900万数据,跑批的时候是没有其它任务访问的。
wwwwb 2013-03-15
  • 打赏
  • 举报
回复
一般在LOAD数据时,都要在使用较少的时候,且建立索引时要锁表
WWWWA 2013-03-14
  • 打赏
  • 举报
回复
索引多的话,有索引再LOAD数据,要频繁更新索引,索引越多,需要更新时间也越多, 你可以测试一下,关闭索引再导入,再建立索引的方法
  • 打赏
  • 举报
回复
重建索引也要花很长时间,这两者相比能在时间上有大的差距吗?
wwwwb 2013-03-14
  • 打赏
  • 举报
回复
去掉索引,LOAD数据,增加索引
ACMAIN_CHM 2013-03-14
  • 打赏
  • 举报
回复
引用 2 楼 xiaoniqiu 的回复:
重建索引也要花很长时间,这两者相比能在时间上有大的差距吗?
差不多。

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧