oracle 一张表中 有大量的数据如何建立索引,数据大概有1亿多

oracle 一张表中 有大量的数据如何建立索引,数据大概有1亿多,第1张

主要看你建立的索引字段在查询的时候返回量的大小,如果量过大,按照oracle的原则超过总量4%左右时索引会失效,进行全表扫码,这个时候建议先建分区,再建索引。如果返回量小的话,可直接根据查询条件建立索引

你可以研究一下,当前的瓶颈是什么,不过实在的说,一亿多数据,跑半天是正常的。

不过这个要看你用的什么方法插入的数据。

应该不是insert into values 把?

全部资源肯定不可能的。因为oracle运行的时候不仅仅使用cpu,还有内存和硬盘。一般来说IO出现瓶颈的可能比较大。

另外可以用nologging+append的方式来加速插入。

可以这样

create table tablename2 as select * from tablename把你不要的那个字段去掉

然后rename

或者你这个表一直在更新数据,暂时不查询,可以

create table tablename2 as select * from tablename where 1=2

先把表结构拷过来,然后rename table

最后再导数据


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10008198.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存