Oracle 数据生成 索引
来源:互联网 发布:网络用语粽子什么意思 编辑:程序博客网 时间:2024/05/16 13:59
1.建表
CREATE TABLE qq(
qq_num integer
);
2.插入数据
插入数据的方法有很多种,但是要插入3亿数据,必须要有高效的算法。在插入数据时我用了最笨的办法,采用PL/SQL利用流程控制的LOOP语句插入。同时我也看了网上的插入效率的优化,怎样利用较少的时间生成较多的测试数据。给我印象深刻的是利用种子表来生成较多的数据。
这样做的好处是本身数据就在本地磁盘,减少了存取的I/O操作,数据生成较快。
我采用最笨的办法利用8小时生成了2亿多条数据记录。
3.索引的建立
由于已存在的记录有2亿条,采用CREATE INDEX qq_num_index ON qq(qq_num);耗费时间近1小时。
索引的好处:查询效率提高,索引相关的“填充因子”。
count()函数始终不走索引,都是全盘扫描,还未找到解决办法。也就是以下PL/SQL执行的时间在建立索引前后是一样的。
但是建立索引后,SELECT MAX(qq_num) 和其他相关的语句的执行时间立即减少了很多。
以下是代码:
建立索引前:执行时间为1分7秒,索引后0.2秒内完成。
建立索引是以存储空间为代价换取时间效率的提高。
这当中有autotrace可以自动显示SQL语句的执行计划,这种查看必须在SQL *PLUS下.
开启autotrace的步骤如下:
--DBA初次必须执行
CREATE ROLE plustrace;--需要拥有权限
GRANT SELECT ON v_$sesstat TO plustrace;--需要有GRANT权限
GRANT SELECT ON v_$mystat TO plustrace;
GRANT SELECT ON v_$statname TO plustrace;
--开启自动跟踪
SET AUTOTRACE ON;
- Oracle 数据生成 索引
- Oracle其他数据对象 -- 索引
- Oracle大数据and索引
- Oracle 生成数据字典
- oracle索引 & 快速生成大量测试数据
- 通过数据泵生成索引创建语句
- 标识训练数据,生成文件索引程序
- oracle 生成整时数据
- oracle海量数据加快创建索引速度
- oracle海量数据加快创建索引速度
- 第九课 oracle数据约束,索引等
- oracle海量数据加快创建索引速度
- oracle按照主键索引查询不到数据
- solr导入oracle数据并创建索引
- 【Oracle】-【索引】先查数据再建索引,还是先建索引再插数据?
- Oracle索引创建——新增数据创建索引,历史数据不创建索引
- 动态表格生成(oracle库直读数据)
- ORACLE生成数据字典的语句
- 初次团队协作
- C++从零开始(九)——何谓结构
- magento getChildHtml() 与getChildChildHtml()
- C++从零开始(十)——何谓类
- asp.net页面中 回车触发提交事件(转)
- Oracle 数据生成 索引
- GCC 编译试验:引用变量和循环优化
- Sort
- C++从零开始(十一)——类的相关知识
- 开发SNS游戏时关于用户头像跨域
- 为什么提 Struts 2
- 好久没有来踩踩了
- C键盘钩子
- 雷人的一幕:国外的codeproject论坛竟有人发“中文贴”.....