`
chenyubo
  • 浏览: 79389 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论
文章列表

oracle sql 优化

1.去掉不必要的大型表的全表扫描 2.缓存小型表的全表扫描 3.检验优化索引的使用 4.检验优化的连接技术 5.尽可能减少执行计划的Cost 现在简单的举几个例子 Where子句中有“!=”将不使用索引 select account_name from test where amount != 0 (不使用) select account_name from test where amount > 0 (使用) Where条件中对字段增加处理函数将不使用该列的索引 select * from emp where to_char(hire_date,'yyyymmd ...
在Oracle中,数据一般是存放在数据文件中,不过数据库与Oracle最大的区别之一就是数据库可以在数据出错的时候进行恢复。 这个也就是我们常见的Oracle中的重做日志(REDO FILE)的功能了。在重做日志分成2部分,一个是在线重做日志文件,另外一个就是归档日志文件。     这里不详细说明在线重做日志,而是说一下归档日志(Archive Log)。在线重做日志大小毕竟是有限的,当都写满了的时候,就面临着2个选择,第一个就是把以前在线重做日志从头擦除开始继续写,第二种就是把以前的在线重做日志先进行备份,然后对被备份的日志擦除开始写新的在线Redo File。这种备份的在线重做日志就是归档 ...
该变归档日志大小只有改变日志组的大小! 方法:加入新的大的日志文件,然后删掉旧的小的日志文件 假设现有三个日志组,每个组内有一个成员,每个成员的大小为1MB,现在想把此三个日志组的成员大小都改为10MB 1、创建2个新的日志组 alter database add logfile group 4 ('D:\ORACLE\ORADATA\ORADB\REDO04_1.LOG') size 1024k; alter database add logfile group 5 ('D:\ORACLE\ORADATA\ORADB\REDO05_1.LOG') size 1024k; 2、切换当前日 ...
一、NO ARCHIVELOG       数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。 二、ARCHIVELOG       基本情况和上面是一致的,唯一不同在于,当发生日志切换的时候,被切换的日志会进行归档。比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志2,这时联机重做日 ...
什么是DML和DDL(zz) DML(Data Manipulation Language)数据操纵语言命令使用户能够查询数据库以及操作已有数据库中的数据。 如insert,delete,update,select等都是DML. DDL语句用语定义和管理数据库中的对象,如Create,Alter和Drop. DDL操作是隐性提交的!不能rollback
一.相关的概念 Rowid的概念:       rowid是一个伪列,既然是伪列,那么这个列就不是用户定义,而是系统自己给加上的。对每个表都有一个rowid的伪列,但是表中并不物理存储ROWID列的值。不过你可以像使用其它列那样使用它 ...
1、PL/SQL Developer记住登陆密码 在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码; 设置方法:PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History , “Store history”是默认勾选的,勾上 ...
final、finally和finalize的区别是什么? 这是一道再经典不过的面试题了,我们在各个公司的面试题中几乎都能看到它的身影。final、finally和finalize虽然长得像孪生三兄弟一样,但是它们的含义和用法却是大相径庭。这一次我们就一起来回顾一下这方面的知识。 final关键字 我们首先来说说final。它可以用于以下四个地方: 定义变量,包括静态的和非静态的。 定义方法的参数。 定义方法。 定义类。 我们依次来回顾一下每种情况下final的作用。首先来看第一种情况,如果final修饰的是一个基本类型,就表示这个变量被赋予的值是不可变的,即它是个常量 ...
变量,或者叫做类的属性,在继承的情况下,如果父类和子类存在同名的变量会出现什么情况呢?这一次,我们就一起来回顾一下这个问题——变量(属性)的覆盖。 这个问题虽然简单,但是情况却比较复杂。因为我们不仅要考虑变量、静态变量和常量三种情况,还要考虑private、friendly(即不加访问修饰符)、protected和public四种访问权限下对属性的不同影响。 我们先从普通变量说起。依照我们的惯例,先来看一段代码: class ParentClass { private String privateField = "父类变量--private"; /* fr ...
我们首先来看一段代码: String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相信大家对这道题并不陌生,答案也是众所周知的,2个。接下来我们就从这道题展 ...
ShowModalDialog函数的功能: 打开一个子窗口,并且可与父窗口相互传递数据,它与window.open的最大区别就在于由ShowModalDialog打开子窗口后,父窗口将不能操作。 使用方法: vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures]) 参数说明: sURL 必选参数,类型:字符串。用来指定对话框要显示的文档的URL。 vArguments 可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进 ...
大家在去参加面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的结果。这实际上是在考查我们对于继承情况下类的初始化顺序的了解。 我们大家都知道,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序以此是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们也可以通过下面的测试代码来验证这一点: public class InitialOrderTest { // 静态变量 ...
首先你要明白所有都是对象这个概念。 那么下面给你解释下三者的不同: name==null 判断这个name对象是否为空。name可以是任意的类型。当然“”也就是空字符串不是null。 name.equals("") 判断name对象是否和空字符串相等,如果是string类型,则比较name是不是空字符串。 name.length()==0 string类型的name对象的长度是不是等于0。 第一个就是判断对象是否为null,既空引用,没有初始化过。 第二和第三功能一样,都可以做为判断string型的对象有没有内容。但需要注意的是,如果name ...
获取你的JVM系统环境属性   Java的"Writer once,run anywhere"口号的确让我们领略到了Java的神奇,也成为SUN宣传Java的金字招牌。拂开这层神秘的面纱,我们不难发现其核心是运行在各种操作系统中的JVM(Java虚拟机)在发挥着重要的作用,Java虚拟机允许我们的纯java类可以达到"一次编写,到处运行"。每个安装在不同操作系统的Java虚拟机负责着Java程序与操作系统之间的工作,因此每个Java虚拟机的系统环境属性是不同的,我们可以通过访问Java虚拟机的系统属性来获知一些关于当前操作系统的一些基本信息,这些信息的价值 ...
AOP在Spring中占有很重要的地位,做了一个例子是利用AOP来做一个登陆的身份验证。希望能对大家有所帮助,使用了AOP可以在不破坏你的代码的前提下帮你完成验证功能。 转一点AOP的知识: 程序代码:     1、Spring只支持方法拦 ...
Global site tag (gtag.js) - Google Analytics