【Oracle】-【索引】先查数据再建索引,还是先建索引再插数据?
来源:互联网 发布:精功科技 盘古数据 编辑:程序博客网 时间:2024/05/28 05:19
问题:
1、新建一个表结构,创建索引,将百万或千万级的数据使用insert导入该表。
2、新建一个表结构,将百万或千万级的数据使用isnert导入该表,再创建索引。
这两种效率哪个高呢?或者说用时短呢?
我感觉无论先建还是后建索引,当有数据时都需要update索引数据,问题是有索引的情况下插数据与有数据的情况下建立索引,各自的消耗。
实验:
100w记录,
1、先创建表和索引,再插入数据,大约1.3min。
2、先插数据,再建立两个索引,create table xxx as select * from t where 1<>1;大约13秒,建立两个索引大约26秒和35秒。
总结:
如果先建立索引再插入数据,每次插入数据还需要修改索引信息。
实战还要看业务要求,有的业务可能还需要索引和约束对数据进行校验,这样就应该先建立索引了。如果是一次性处理,原则上先插数据后建索引。
另外的问题:
使用nologging可以提高几秒钟,但使用parallel没变化,环境是虚机,4个物理CPU,8个虚拟CPU,这里parallel应该如何设置呢?也请高手指教!
- 【Oracle】-【索引】先查数据再建索引,还是先建索引再插数据?
- 先插入数据再建立索引与先建立索引再插入数据 的区别
- Oracle 数据生成 索引
- 创建数据库、数据表、索引时先判断再创建
- Oracle中,如何确定热快是数据块还是索引块?
- 数据索引
- 数据索引
- 【Oracle】-【move】【索引】无数据的主键索引VALID还是UNUSABLE
- 数据先加载还是先展示?
- Oracle其他数据对象 -- 索引
- Oracle大数据and索引
- ORACLE建索引
- oracle 建索引
- oracle索引再论
- SqlServer为大数据量表建索引
- 还是索引
- oracle海量数据加快创建索引速度
- oracle海量数据加快创建索引速度
- Android ANR异常及解决方法
- 机器学习实战笔记(二)KNN(K-Nearest Neighbors) k-近邻算法
- 多图详解 iPhone SDK下载安装教程
- ESRI arcgis 10.1.1 ios skd 中通过gps 设备进行地图上的导航功能
- AWR
- 【Oracle】-【索引】先查数据再建索引,还是先建索引再插数据?
- Win7中CHM打不开的解决方法
- 协议森林02 小喇叭开始广播 (以太网与WiFi协议)
- Window8平板键盘中英文字符的问题
- rman备份与脚本
- Google地图的经纬度
- QT槽传递参数的方法
- php回调函数的概念及实例
- FLV视频发布的两种方式(HTTP协议和RTMP协议)(转)