`
maosheng
  • 浏览: 566296 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
用EXPLAIN PLAN 分析SQL语句: EXPLAIN PLAN 是一个很好的分析SQL语句的工具,它甚至可以在不执行SQL的情况下分析语句. 通过分析,我们就可以知道ORACLE是怎么样连接表,使用什么方式扫描表(索引扫描或全表扫描)以及使用到的索引名称. 你需要按照从里到外,从上到下的次序解读分析的结果. EXPLAIN PLAN分析的结果是用缩进的格式排列的, 最内部的操作将被最先解读, 如果两个操作处于同一层中,带有最小操作号的将被首先执行. NESTED LOOP是少数不按照上述规则处理的操作, 正确的执行路径是检查对NESTED LOOP提供数据的操作,其中操作号最小 ...
随着软件技术的不断发展,系统性能越来越重要。 系统性能主要用:系统响应时间和并发性来衡量。 造成SQL语句性能不佳大致有两个原因: 1,开发人员只关注查询结果的正确性,忽视查询语句的效率。 2,开发人员只关注SQL语句本身的效率,对SQL语句执行原理、影响SQL执行效率的主要因素不清楚。 *  前者可以通过深入学习SQL语法及各种SQL调优技巧进行解决。    SQL调优是一个系统工程,熟悉SQL语法、掌握各种内嵌函数、分    析函数的用法只是编写高效SQL的必要条件。 *  后者从分析SQL语句执行原理入手,指出SQL调优应在优化SQL解    析和优化CBO上。 调优领域: 1 ...
  概要: 1、 ORACLE 实例——包括内存结构与后台进程 2、 ORACLE 数据库——物理操作系统文件的集合 3、 了解内存结构的组成 4、 了解后台进程的作用 5、 了解数据库的物理文件 6、 解释各种逻辑结构   一、ORACLE实例 ...
TKPROF介绍 Tkprof:分析ORACLE跟踪文件并且产生一个更加人性化清晰的输出结果的可执行工具 1)TKPROF的参数: 不输入任何参数,直接输入tkprof,回车,可以获得一个完整的参数列表. C:\>tkprof Usage: tkprof tracefile outputfile [explain= ] [table= ]                [print= ] [insert= ] [sys= ] [sort= ]    table=schema.tablename   Use 'schema.tablename' with 'explain=' op ...
1. 引言 合理利用线程池能够带来三个好处: 第一:降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度,当任务到达时,任务可以不需要等到线程创建就能立即执行。 第三:提高线程的可管理性,线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。 但是要做到合理的利用线程池,必须对其原理了如指掌 2. 线程池的使用 线程池的创建: 我们可以通过ThreadPoolExecutor来创建一个线程池。 new  ThreadPoolExecutor(corePoolSize, maximumPoo ...
SQL 语句的编写原则: 1.不要让Oracle做得太多;    1)避免复杂的多表关联    2)避免使用 ‘ * ‘ 当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 ‘*’ 是一个方便的方法.不幸的是,这是一个非常低效的方法. 实际上,O ...
ORACLE将执行过的SQL语句存放在内存的共享池(shared buffer pool)中,可以被所有的数据库用户共享。当你执行一个SQL语句(有时被称为一个游标)时,如果它和之前的执行过的语句完全相同, ORACLE就能很快获得已经被解析的语句以及最好的执行路径. 这个功能大大地提高了SQL的执行性能并节省了内存的使用。 为了不重复解析相同的SQL语句,在第一次解析之后,Oracle将SQL语句存放在内存中。这块位于系统全局区域SGA(systemglobal area)的共享池(shared buffer pool)中的内存可以被所有的数据库用户共享。因此,当你执行一个SQL语句(有时被 ...
前序 单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的 ...
    初学LoadRunner,今天用这个工具测试一个项目的Socket Server服务器,想用java Vuser来模拟POS终端,然后在脚本编辑器里面运行是通过了,但在场景控制器里面并发运行这个脚本,报如下错误: “You do not have a for this Vuser type.Please ...
/* * LoadRunner Java script. * Loadrunner:11.00.0.0 * * 脚本描述: * 模拟基于Socket协议的即时消息系统中的客户端行为LR脚本, * 为模拟真实POS终端,接收消息和发送消息分两个线程工作。 * * 作者:maosheng * 制作时间:2013-1-11 *  */    import lrapi.lr;  import java.io.IOException;  import java.io.InputStream;  import java.io.OutputStream;  import java.n ...
8.6 数据库触发器的应用实例   用户可以使用数据库触发器实现各种功能:   复杂的审计功能;   例:将EMP 表的变化情况记录到AUDIT_TABLE和AUDIT_TABLE_VALUES中。 CREATE TABLE audit_table( Audit_id NUMBER, User_name VARCHAR2(20), Now_time DATE, Terminal_name VARCHAR2(10), Table_name VARCHAR2(10), Action_name VARCHAR2(10), Emp_id NUMBER(4)); CREATE TABLE audit_t ...
8.5 数据库触发器的应用举例   例1:创建一个DML语句级触发器,当对emp表执行INSERT, UPDATE, DELETE 操作时,它自动更新dept_summary 表中的数据。由于在PL/SQL块中不能直接调用DDL语句,所以,利用ORACLE内置包DBMS_UTILITY中的EXEC_DDL_STATEMENT过程,由它执行DDL语句创建触发器。 CREATE TABLE dept_summary( Deptno NUMBER(2), Sal_sum NUMBER(9, 2), Emp_count NUMBER); INSERT INTO dept_summary(deptn ...
8.3 删除和使能触发器   删除触发器:   DROP TRIGGER trigger_name;   当删除其他用户模式中的触发器名称,需要具有DROP ANY TRIGGER系统权限,当删除建立在数据库上的触发器时,用户需要具有ADMINISTER DATABASE TRIGGER系统权限。   此外,当删除表或视图时,建立在这些对象上的触发器也随之删除。   禁用或启用触发器   数据库TRIGGER 的状态:   有效状态(ENABLE):当触发事件发生时,处于有效状态的数据库触发器TRIGGER 将被触发。   无效状态(DISABLE):当触发事件发生时,处于无效状态的数据库 ...
8.2 创建触发器   创建触发器的一般语法是: CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER } {INSERT | DELETE | UPDATE [OF column [, column …]]} [OR {INSERT | DELETE | UPDATE [OF column [, column …]]}...] ON [schema.]table_name | [schema.]view_name [REFERENCING {OLD [A ...
Oracle 触发器详解系列主要内容如下:       8.1 触发器类型    8.1.1 DML触发器    8.1.2 替代触发器    8.1.3 系统触发器   8.2 创建触发器    8.2.1 触发器触发次序    8.2.2 创建DML触发器   8.2.3 创建替代(INSTEAD OF)触发器 ...
Global site tag (gtag.js) - Google Analytics