`
benx
  • 浏览: 276180 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
什么情况下应该使用B*树索引? 我并不盲目地信息“经验“(所有规则都有例外) ,所以,对于什么时候该使用(和不该使用)B*树索引,我没有什么经验可以告诉你。为了说明为什么在这方面不能提供经验,下面给出两种做法 ...
Oracle中的段(segment)是占用磁盘上存储空间的一个对象。尽管有多种类型,不过最常见的段类型如下: q         聚簇(cluster):这种段类型能存储表。有两种类型的聚簇:B*树聚簇和散列聚簇。聚簇通常用于存储多个表上的相关数据,将其“预联结”存储到同一个数据库块上;还可以用于存储一个表的相关信息。“聚簇”这个词是指这个段能把相关的信息物理的聚在一起。 q         表(table):表段保存一个数据库表的数据,这可能是最常用的段类型,通常与索引段联合使用。 q         表 分区(table partition)或子分区(subpartition):这种段 ...
redo重做信息是oracle在在线重做日志文件中记录的信息,万一出现失败可以利用这些数据来重做事务 undo是oracle在undo段中记录的信息,用于取消或回滚事务。 当你执行新增或update动作然后rollback后,之前格式话的空间会继续保留 无论事务有多大,事务的响应时间都是很平的(时间差不错一样) 在jdbc连接中,如果想让速度变快必须做到减少硬解析 减少软解析 游标重用,尽量少的commit 比如: ps = conn.prepareStatement("delete T_DEV_NEWSEVENTS where id=?");             ...
在并发环境下,解决共享资源冲突问题时,可以考虑使用锁机制。 1.对象的锁 所有对象都自动含有单一的锁。 JVM负责跟踪对象被加锁的次数。如果一个对象被解锁,其计数变为0。在任务(线程)第一次给对象加锁的时候,计数变为1。每当这个相同的任务(线程)在此对象上获得锁时,计数会递增。 只有首先获得锁的任务(线程)才能继续获取该对象上的多个锁。 每当任务离开一个synchronized方法,计数递减,当计数为0的时候,锁被完全释放,此时别的任务就可以使用此资源。 2.synchronized同步块 2.1同步到单一对象锁 当使用同步块时,如果方法下的同步块都同步到一个对象上的锁,则所有的任务(线程)只能 ...
public class Type { private String name; //实例变量 private static String age; //类变量 public void method() { String str = "xiongjin";// 本地变量 } } 实例变量:每个对象都有自己的实例变量,且不能访问其他对象的实例变量 类变量:每个类的对象都可以访问的变量 本地变量:只在该变量的方法或快中有效 在多线程中,类变量、实例变量存放在主内存中,本地变量 ...
与人有生老病死一样,线程也同样要经历开始(等待)、运行、挂起和停止四种不同的状态。这四种状态都可以通过Thread类中的方法进行控制。下面给出了Thread类中和这四种状态相关的方法。     // 开始线程     public void start( );     public void run( );     // 挂起和唤醒线程     public void resume( );     // 不建议使用     public void suspend( );    // 不建议使用     public static void sleep(long millis);     p ...

HashCode 和 equal

    博客分类:
  • java
HashCode 和 equal方法重載 1、  為什麼要重載equal方法? 答案:因為Object的equal方法默認是兩個對象的引用的比較,意思就是指向同一內存,地址則相等,否則不相等;如果你現在需要利用對象裏面的值來判斷是否相等,則重載equal方法 2、  為什麼重載hashCode方法? 答案:一般的地方不需要重載hashCode,衹有當類需要放在HashTable、HashMap、HashSet等等hash結構的集合時才會重載hashCode,那麼為什麼要重載hashCode呢?就HashMap來說,好比HashMap就是一個大內存塊,裏面有很多小內存塊,小內存塊裏面 ...
这段时间开始学习写存储过程,主要原因还是因为工作需要吧,本来以为很简单的,但几经挫折,豪气消磨殆尽,但总算搞通了,为了避免后来者少走弯路,特记述与此,同时亦对自己进行鼓励。 一:无返回值的存储过程 存储 ...
Controlling When a Trigger Is Fired (BEFORE and AFTER Options) The BEFORE or AFTER option in the CREATE TRIGGER statement specifies exactly when to fire the trigger body in relation to the triggering statement that is being run. In a CREATE TRIGGER statement, the BEFORE or AFTER option is specified ...
1.1 ORACLE数据库简介 Oracle简称甲骨文,是一家名声不像微软、IBM那样显赫,但在IT软件业,则是仅次于微软公司的世界第二大软件公司,该公司名称就叫Oracle。该公司成立于1979年,是加利福尼亚州的第一家在世界上推出以关系型数据管理系统(RDBMS)为中心的一家软件公司。Oracle不仅在全球最先推出了RDBMS,并且事实上掌握着这个市场的大部分份额。现在,他们的RDBMS被广泛应用于各种操作环境:Windows NT、基于UNIX系统的小型机、IBM大型机以及一些专用硬件操作系统平台。事实上,Oracle已经成为世界上最大的RDBMS供应商,并且是世界上最主要的信息处理 ...
Oracle中更新语句的重启动 考虑一个简单的update语句: update test set x=1 where y=1; 它是分为两步: 1. 根据where条件找出表中满足更新条件的数据行; 2. 更新步骤1中所找出的数据行的x值。 假如test表很大,update要执行好几分钟,而且在步骤1期间有人将某一行的y值改为2并提交了,那么在步骤2中,这个y=2的行是否还会被更新x列呢? 这种情况下,Oracle会选择“重启动”更新。 其实,Oracle在执行DML语句时,会用到两种不同的方式去读取数据块: 1. 一致读:在“找到”需要修改的数据行时,会采用consistent ...
                       第六章:锁 悲观锁定:在试图更新前就把数据锁起来叫悲观锁定 仅用于有连接和有状态的环境,也就是说,你的应用与数据库有一条连续的连接,而且至少在事务生存期中只有你一个人使用这 ...
名称 类型 类别 blank_trimming Boolean ANSI相容性 dg_broker_config_file1 String Data Guard dg_broker_config_file2 String Data Guard dg_broker_start Boolean Data Guard file_mapping Boolean I/O fileio_network_adapters String I/O filesystemio_options String I/O nls_langua ...
1、使用游标、loop、%type、%rowtype DECLARE Last_name VARCHAR2(50); email employees.email%type; emp employees%rowtype; Cursor c1 IS SELECT * FROM employees; BEGIN OPEN c1; LOOP FETCH c1 INTO emp; EXIT WHEN c1%NOTFOUND; email:=emp.email; Last_name: ...
本章内容并不是针对数据库专家或是那些想快速找到答案的读者。本章主要是讨论基本的索引原理(也可能是仅有的一章)。对初学者来说,最困难的就是如何找到那些可以填补最主要差距的信息,以及如何了解Oracle的索引功能。本章就是服务于这个目的。尽管市场上有大量面向中高级用户的书籍,但面向初学者的资料却非常少,而且需求量往往很高。 Oracle提供了大量索引选项。知道在给定条件下使用哪个选项对于一个应用程序的性能来说非常重要。一个错误的选择可能会引发死锁,并导致数据库性能急剧下降或进程终止。而如果做出正确的选择,则可以合理使用资源,使那些已经运行了几小时甚至几天的进程在几分钟内得以完成,这样会使您颇有成就感 ...
Global site tag (gtag.js) - Google Analytics