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

一个ORACLE优化的PL/SQL语句的前后对比

阅读更多
DECLARE
TYPE Rc IS REF CURSOR;
l_Rc    Rc;
l_Dummy All_Objects.Object_Name%TYPE;
l_Start NUMBER DEFAULT Dbms_Utility.Get_Time;
BEGIN
FOR i IN 1 .. 1000 LOOP
    OPEN l_Rc FOR 'select object_name from all_objects where object_id = :x' USING i;
    FETCH l_Rc INTO l_Dummy;
    CLOSE l_Rc;
END LOOP;
Dbms_Output.Put_Line(Round((Dbms_Utility.Get_Time - l_Start) / 100, 2) || 'second...');
END;


执行时间:约1秒



DECLARE
TYPE Rc IS REF CURSOR;
l_Rc    Rc;
l_Dummy All_Objects.Object_Name%TYPE;
l_Start NUMBER DEFAULT Dbms_Utility.Get_Time;
BEGIN
FOR i IN 1 .. 1000 LOOP
    OPEN l_Rc FOR 'select object_name from all_objects where object_id = ' || i;
    FETCH l_Rc INTO l_Dummy;
    CLOSE l_Rc;
END LOOP;
Dbms_Output.Put_Line(Round((Dbms_Utility.Get_Time - l_Start) / 100, 2) || 'second...');
END;


执行时间:约14秒!
分享到:
评论

相关推荐

    oracle 9i pl/sql程序设计笔记

    **标题与描述**:本文档围绕“Oracle 9i PL/SQL程序设计笔记”这一核心主题,深入探讨了PL/SQL语言的基础知识及其在Oracle 9i数据库环境中的应用。 **关键词**:Oracle 9i、PL/SQL #### PL/SQL程序结构详解 **2.1...

    oracle10g_pl/sql

    - **存储过程**:一组PL/SQL语句,可重复调用,提高代码复用性。 - **函数**:类似于过程,但返回一个值,可用于计算或验证。 - **触发器**:在特定数据库事件(如INSERT、UPDATE、DELETE)发生时自动执行的PL/...

    Oracle PL/SQL实战(待续)

    "demobld.sql"这个文件名很可能表示一个示例或演示的构建脚本,可能包含了各种PL/SQL代码示例,用于创建和操作数据库对象。在实践中,我们通常会用这样的脚本来创建表、索引、视图、存储过程等。比如,文件可能包含...

    ORACLE PL/SQL从入门到精通

    过程是PL/SQL中一种用来封装逻辑的单元,它包含了一系列的SQL语句和PL/SQL代码,可以执行特定的任务。过程与匿名程序块的区别在于它具有名称和参数,能够被重复调用。创建过程的语法中涉及到参数模式,包括IN、OUT、...

    oracle PL/SQL语句

    * 函数是PL/SQL语句中的一种数据库对象,它可以用于计算和返回一个值。 * 创建函数需要使用CREATE FUNCTION语句,并指定函数的名称、参数列表和返回类型。 * 函数可以通过SELECT语句来调用,或者通过存储过程或...

    oracle pl/sql从入门到精通 配套源代码

    在Oracle PL/SQL中,我们可以通过使用SQL语句来与数据库进行交互,例如SELECT用于查询数据,INSERT、UPDATE和DELETE用于修改数据。PL/SQL还提供了游标(CURSOR)机制,允许我们逐行处理查询结果。此外,PL/SQL还支持...

    Oracle PL/SQL程序设计(第5版)(上下册)

    - **SQL语句的执行**:介绍如何在PL/SQL代码中嵌入SQL语句,包括查询、插入、更新和删除操作。 - **动态SQL**:探讨如何构造和执行动态SQL语句,这对于需要根据运行时条件生成SQL的情况非常有用。 - **SQL*Plus命令*...

    Oracle PL/SQL实例精解 数据库建立代码

    在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨如何在Oracle数据库中使用PL/SQL来构建一个名为"student"的模式,这包括创建数据库对象如表、索引,以及填充样本数据。 首先,"student"模式可能包含一...

    oracle 中 pl/sql 只是学习方法

    4. **存储过程和函数**:存储过程是一组预先编译的PL/SQL语句,可以在需要时调用,减少网络通信,提高性能。函数与存储过程类似,但必须返回一个值。它们可以用于封装复杂的业务逻辑,增强代码复用性。 5. **异常...

    Oracle8 PL/SQL程序设计

    PL/SQL,全称Procedural Language/Structured Query Language,是Oracle数据库提供的一种过程化编程语言,它结合了SQL的查询功能和传统编程语言的控制结构,使得数据库管理和应用程序开发更为高效和灵活。...

    Oracle PL/SQL 实例精解(第4版涵盖Oracle 11g)+源码脚本

    Oracle PL/SQL是一种强大的编程语言,它将关系数据库的强大功能与结构化编程的优点结合在一起,是Oracle数据库系统中不可或缺的一部分。在"Oracle PL/SQL 实例精解(第4版涵盖Oracle 11g)+源码脚本"中,读者可以深入...

    Oracle Database 12c PL/SQL开发指南 实例源代码

    PL/SQL是Oracle专为数据库管理设计的一种过程化编程语言,它结合了SQL查询语言的威力与高级编程语言的灵活性,使得数据库开发者能够创建复杂的应用程序逻辑。 在"Oracle Database 12c PL/SQL开发指南(第7版)"这...

    Oracle PL/SQL学习官方教材

    Oracle PL/SQL是一种强大的编程语言,它将SQL与过程编程语言的特性相结合,为数据库开发提供了丰富的功能。在Oracle数据库环境中,PL/SQL是开发高效、可靠和可维护的数据库应用程序的关键工具。以下是对"Oracle PL/...

    Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发

    4. **动态SQL**:探讨如何在PL/SQL中执行SQL语句,包括EXECUTE IMMEDIATE和PREPARE-EXECUTE-CLOSE模式,以及绑定变量的应用。 5. **包(PACKAGE)**:详细解释包的概念,包括公共和私有部分,以及如何通过包来组织...

    基本SQL语句及PL/SQL语句

    标题中的“基本SQL语句及PL/SQL语句”涵盖了关系数据库管理中两个重要的概念:SQL(Structured Query Language)和PL/SQL(Procedural Language/SQL)。SQL是用于管理和处理关系数据库的标准语言,而PL/SQL是Oracle...

    oracle_oracle_oraclepl/sql_

    10. **索引和优化**:了解如何利用PL/SQL编写高效的SQL语句,以及如何创建和管理索引来优化查询性能。 11. **并发控制**:在多用户环境中,PL/SQL提供锁定机制和事务管理,确保数据的一致性和完整性。 12. **游标...

    一个对数据库的操作工具PL/SQLpl/sqL工具

    PL/SQL是Oracle公司开发的一种过程化语言,全称为Procedural Language/Structured Query Language,它是SQL的一个扩展,专门用于处理Oracle数据库系统。这个“PL/SQL工具”显然是一个用于辅助管理和操作Oracle数据库...

    oracle pl/sql fundamentals

    13. **PL/SQL与SQL的集成**:了解如何在PL/SQL中嵌入SQL语句,以及SQL语句如何与PL/SQL逻辑相互配合。 14. **最佳实践和编码规范**:学习编写清晰、可读且可维护的PL/SQL代码的方法,遵循良好的编程风格和设计原则...

    oracle pl/sql实例精讲student数据库模式数据和表脚本

    在"Oracle PL/SQL实例精讲student数据库模式"中,我们将深入探讨如何利用PL/SQL来设计、管理和操作一个名为"student"的数据库模式。 "student"数据库模式可能包含了与学生相关的各种实体,如学生信息表(students)...

    Oracle PL/SQL实例编程(PL/SQL经典书籍)

    3. **控制结构**:PL/PROCEDURE和PL/FUNCTION是PL/SQL的基本程序单元,前者不返回值,后者可以返回一个值。流程控制结构有IF-THEN-ELSIF-ELSE、CASE、FOR循环、WHILE循环和GOTO。 4. **SQL操作**:PL/SQL可以直接...

Global site tag (gtag.js) - Google Analytics