`
digyso
  • 浏览: 142660 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Oracle开发专题之:随机查询

阅读更多

http://www.blogjava.net/pengpenglin/archive/2009/03/19/206796.html

【1】方法一:通过dbms_random.random

select*from(select*fromlargetableorderbydbms_random.random)whererownum<=20000;


【2】方法二:通过dbms_random.value

select*from(select*fromlargetableorderbydbms_random.value)whererownum<=20000;


【3】方法三:通过采样表扫描

select*from(select*fromlargetablesample(10))whererownum<=20000;


下面我们通过实践来比较这3种方法的效率,首先我们创建一个包含有10W条记录的表用于实验:

createtableLARGETABLE
(
ID
NUMBERnotnullprimarykey,
BIRTHDAYDATE
notnull
)


接下来我们插入10W条数据

createorreplaceprocedurerandom_insertas
i
number;
startDatedate:
=sysdate;

begin

foriin1..100000loop
insertintolargetablevalues(i,startDate+1);
endloopcommit;

end;


在SQL*PLUS下设置显示SQL语句执行时间:set timing on,让后分别运行上述三条语句:

第一个的执行时间为 00: 00: 16: 04
第二个的执行时间为 00: 00: 54: 04
第三个的执行时间为 00: 00: 08: 07

从这里我们可以看出在进行数据随机抽取时,采用sample的方法效率是最高的。为了保证每次随机查询的数据尽量不重复,我们可以把sample中的百分比提高一些(例如从10%提高到20%)。

关于Oracle Sample的介绍和用法,请参考eygle他老人家的一篇文章介绍:如何从结果集中获得随机结果

分享到:
评论

相关推荐

    oracle 分析函数详解(有例子)

    1 Oracle开发专题之:分析函数 OVER 2 Oracle开发专题之:分析函数 Rank Dense rank row number 3 Oracle开发专题之:分析函数3 Top Bottom N First Last NTile 4 Oracle开发专题之:窗口函数 5 Oracle开发专题...

    oracle数据驱动包:ojdbc14-10.2.0.3.0.jar

    Oracle JDBC (Java Database Connectivity) 驱动允许 Java 程序通过 JDBC API 与 Oracle 数据库进行交互,从而实现数据的查询、插入、更新和删除等操作。 ojdbc14 是这个驱动的一个特定版本,它对应于 Oracle 10g ...

    Oracle Database 11g:SQL Fundamentals I1

    Oracle Database 11g 是一款由 Oracle 公司开发的关系型数据库管理系统,它提供了高性能的数据存储和处理功能。而 SQL(Structured Query Language)则是用于管理和查询关系型数据库的标准语言。因此,这个标题告诉...

    Oracle 内部培训资料:Oracle 10g 培训材料(18个PPT)

    Oracle_数据库_10g的备份与恢复特性-恢复管理器与闪回查询技术.ppt Oracle数据卫士-以最低的成本获得最高的数据保护能力.ppt Oracle数据库10g-信息集成.ppt Oracle数据库10g-对自我管理数据库进行管理1.ppt Oracle...

    基于Windows的Oracle数据库10g:开发与部署

    ### 基于Windows的Oracle数据库10g:开发与部署 #### 执行概要 Oracle数据库10g为Windows平台带来了一系列创新的功能和技术改进,极大地简化并加速了基于Windows环境下的Oracle产品的开发与部署过程。该版本不仅...

    使用OCCI访问Oracle数据库(2)文章中已经处理好的开发包

    在本篇中,我们将深入探讨如何使用OCCI(Oracle Call Interface)访问Oracle数据库,特别是针对已处理好的开发包,该包包含了InstantClient、SDK以及针对VC9(Visual Studio 2008)的库。首先,理解OCCI是Oracle公司...

    盖国强Oracle专题:天道酬勤oracle之路

    教程名称:盖国强Oracle专题:天道酬勤oracle之路课程目录:【】Oracle DBA 手记3,数据库性能优化与内部原理解析【】Oracle数据安全-盖国强(DTCC2012)【】Oracle数据库DBA专题技术精粹【】Oracle数据库性能优化...

    com.oracle.ojdbc7jar包下载.zip

    String url = "jdbc:oracle:thin:@//hostname:port/service_name"; Connection conn = DriverManager.getConnection(url, "username", "password"); ``` 4. **执行SQL**:一旦连接建立,可以通过`Statement`或`...

    oracle特有的错误:ORA-01036:非法的变量名/编号

    在Oracle数据库系统中,"ORA-01036:非法的变量名/编号"是一个常见的错误,通常出现在PL/SQL代码或者SQL查询语句中,当你尝试使用一个不正确或者未定义的变量时,Oracle数据库会抛出这个错误。这个错误可能是由于...

    oracle ojdbc6-11.2.0.3.jar

    String url = "jdbc:oracle:thin:@hostname:port/service_name"; String username = "your_username"; String password = "your_password"; Connection conn = DriverManager.getConnection(url, username, password...

    Oracle数据库基础教程:入门其实很简单

    - Oracle数据库的地位:作为目前最流行的客户/服务器数据库之一,Oracle在全球范围内的广泛应用。 2. **实体-联系模型(E-R Model)**: - 实体的概念:理解实体的含义及其在数据库设计中的作用。 - 联系的类型...

    ORACLE ERP开发基础之EBS开发基础.docx

    ### Oracle ERP 开发基础之 EBS 开发概述 本文旨在深入解析《ORACLE ERP开发基础之EBS开发基础》文档中的关键知识点,并结合其提供的链接资料进行详细阐述,旨在为Oracle ERP开发人员提供一份详尽的技术指南。 ###...

    Oracle高级SQL调优:CLUSTER_FACTOR案例研究

    总之,理解CLUSTER_FACTOR的工作原理及其实现方式对于优化Oracle数据库的查询性能至关重要。通过对案例的研究,我们不仅能够更深入地了解这一概念,还能掌握一些实用的技术方法来提升数据库系统的整体表现。

    oracle开发语句及项目

    "Oracle开发语句及项目"这个主题涵盖了Oracle数据库的SQL语句使用和实际项目中的应用场景。下面将详细介绍Oracle开发中的关键知识点。 1. SQL基础: - SELECT语句:用于查询数据,包括基本查询、联接查询、子查询...

    剑破冰山-oracle开发艺术

    Oracle PL SQL开发艺术一书,旨在为方广大开发爱好者提供更实用、更高效的开发技巧。

    Oracle数据库性能优化:深入探索与实践指南

    - Oracle数据库是甲骨文公司开发的商业关系数据库管理系统,它是市场上最流行的数据库之一,以其高性能、可靠性和安全性而闻名。 - Oracle数据库支持SQL(结构化查询语言),是数据存储、管理和检索的行业标准。 ...

    剑破冰山 Oracle开发艺术 中文版

    《剑破冰山:oracle开发艺术》内容简介:oracle数据库是目前市场占有率最高的商业数据库,功能非常强大,随着oracle管理工具的智能化,如oracle em提供了强大的管理和调优功能,oracle dba的管理工作逐渐趋于简单化。...

    Oracle开发实战经典 李兴华

    标题中提到的《Oracle开发实战经典 李兴华》可能指的是一本关于Oracle数据库开发的实用指导书籍。Oracle数据库作为全球领先的企业级数据库管理系统,被广泛应用于金融、电信、制造等多个行业中。开发者在学习和使用...

    Oracle Developer开发指南

    Oracle Developer是Oracle公司提供的一套全面的开发工具集,主要用于构建和管理基于Oracle数据库的应用程序。这个开发指南将深入探讨Oracle Developer的相关知识点,帮助开发者掌握其核心功能和使用技巧。 一、...

Global site tag (gtag.js) - Google Analytics