- 博客(51)
- 资源 (11)
- 问答 (1)
- 收藏
- 关注
翻译 ORACLE锁
DML锁又可以分为,行锁、表锁、死锁-行锁:当事务执行数据库插入、更新、删除操作时,该事务自动获得操作表中操作行的排它锁。 -表级锁:当事务获得行锁后,此事务也将自动获得该行的表锁(共享锁),以防止其它事务进行DDL语句影响记录行的更新。事务也可以在进行过程中获得共享锁或排它锁,只有当事务显示使用LOCK TABLE语句显示的定义一个排它锁时,事务才会获得表上的排它锁,也可使用LOCK T
2014-12-30 14:24:06
619
原创 随想
人往往在不同的阶段碰到不同的坑,当你发现前面有个小坑时,用力跳过这个小坑,结果却掉进更大的坑。事情往往就是这样,是生不逢时,还是现实的无奈,不管如何,天地间你总似渺小的一粒尘埃。沮丧也罢,愤怒也罢,所有一切无事无补。
2014-11-26 14:28:24
471
原创 此生真的就这样了吗?
不知不觉间时光从一个懵懂少年流淌至而立之年,而立之年却不知从何而立,何处可立。努力过,没有坚持目标去践行;而今感觉是自己价值无从体现,生命的意义和价值都背离了最初的誓言,而今何去何从,此生真的就这样了吗?
2013-12-06 13:49:37
714
原创 xml 中的xsi 是什么意思
http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">xsi全名:
2013-06-22 20:07:54
1598
原创 在适合自己的地方闪光
五月份辞职了,现在正在找工作,GIS行业,现在一下没有了经济来源,压力超大,希望这个月能幸运找到适合的工作。几年来做了几家公司,总的来说,不要频繁的跳槽,多了对自己没有好处。要有一个明确的职业规划,再做几年可能会考虑转型,转顾问或管理之类的,比较理想的状况是拥有自己的公司,前面有面试的公司,尽是些如:as2和as3,flex builder3 和flash builder4的区别等一些东西,真是无
2013-05-08 11:05:23
542
转载 高级SQL优化(三) 常用优化工具
SQL*PLUS下使用AUTOTRACE1.AUTOTRACE简介 AUTOTRACE是SQL*Plus的一项功能,其作用是自动跟踪SQL语句,为SQL 语句生成一个 执行计划并且提供与该语句的处理有关的统计信息。SQL*Plus AUTOTRACE 可以用来替代 SQL Trace 使用,AUTOTRACE 的好处是不必设置跟踪文件的格式,并且它将自动为 S
2013-05-05 19:04:00
849
转载 高级SQL优化(二)
充分利用索引索引的限制1. 索引对不等号和NOT的限制 如果WHERE条件中出现!=或者Oracle 10g起,在基于CBO的优化器模式下Oralce会进行自动优化,但在基于RBO(基于规则)的优化器模式下,依然保持此规则。 1. 索引对不等号和NOT的限制 RBO模式下,执行计划如下:
2013-05-05 19:03:00
504
转载 高级SQL优化(一)
SQL优化简介一般在应用中, 糟糕的SQL语句是造成系统性能低下的最主要原因,例如大小写的不统一、同样的SQL语句不同的写法等。而且,随着数据量的增加,情况会变得越来越严重。(题外话:优秀的Oracle数据库优化人才,是任何公司都稀缺的) SQL优化又称SQL调节,其步骤一般包括: SQL调节的目标 SQL调节包括三大目
2013-05-05 19:02:05
649
转载 海量数据库及分区4
管理分区增加索引分区本地索引无法明确的增加分区,其增加只能是基表增加分区,此时新增加的索引分区的名字是Oracle自命名的,但可以给其重新命名。也可是使用ALTER INDEX index_name MODIFY DEFAULT ARRTIBUTES TABLASEPACE tablespace_name修改本地索引分区默认的表空间后,再使用ADD PAR
2013-05-05 19:00:57
625
转载 海量数据库及分区3
分区的性能分区剪切分区剪切功能能极大的提高SQL性能,原因是Oracle优化器分析SQL的FROM语句和WHERE子句时,在构建分区访问列表时会首先排除掉不需要的分区,因而确保SQL只在相关的分区上操作,这就必然会带来数据范围的缩减,降低了I/O,中众所周知I/O是性能的瓶颈。1.环境准备 创建一个与表ACCOUNT_TRADE_CLL结构完全想相同
2013-05-05 19:00:02
576
转载 海量数据库及分区2
分区表组合分区组合分区又称为复合分区,是使用三种基本分区策略在一种分区的基础上再进行二次分区,即子分区。对于某个分区的子分区来说,其实际上是该分区数据的逻辑子集。组合分区支持历史操作,如增加新的范围分区,其同时也支持更细粒度的分区修剪。 1.复合范围-范围分区 复合范围-范围分区允许在两个维度的逻辑范围内分区。其语法:
2013-05-05 18:58:40
520
转载 海量数据库及分区1
原规划本课的内容为表分区,即单级分区表的简要知识,规划为一课。由于近年来行业内海量数据处理人才紧缺,现根据读者反馈将内容调整为四课,以详细讨论海量数据库的全部主要知识,并辅以大量实践练习,以期有志于研究学习VLDB的读者通过加量的课程学习能达到建立起VLDB基础理论体系,迅速适应相应的海量数据库设计和开发工作的效果。 VLDB概述引子
2013-05-05 18:57:39
647
转载 Oracle体系结构2
Oracle实例当把一个关闭的数据库手动启动并装载和打开,从而使数据库变得有效时,分别经历的阶段如下:l启动实例而不装载数据库l数据库装载l数据库打开1.启动实例,此时执行如下操作:l从OS指定位置处检索服务器参数文件,如果没找到则通过启动命令中是使用SPFILE还是PFILE替代默认的文件使用该文本初始化参数文件l从初始化文
2013-05-05 18:56:42
588
转载 Oracle体系结构1
关系模型关系数据库是一个符合关系模型理论的数据库。 关系模型主要有以下三方面特性:l结构性:定义良好的数据存储和访问机制l易操作性:具有清晰定义的访问机制,通过应用能操纵数据中的结构和数据l完整性规则:完整性规则用来管理结构和数据 关系数据库适用简单的关系(二维表)存储数据,而关系是一个元组、元组中存储的是无序的属性值。表是一个行(元组)
2013-05-05 18:55:11
644
转载 表分析、约束及表间关系
表分析Oracle优化器简述 Oracle提供两种优化器,CBO(Cost based Optimizer)和RBO(Ruler Based Optimizer)。CBO要求的是 最有效的方式是成本最小的访问方法,其中成本也称为开销,主要指I/O时间和CPU时间,大多数情况下,主要开销在对磁盘的I/O的开销。CBO的依据包括:
2013-05-05 18:53:48
1277
转载 索引及优化之表分析
本课内容属于Oracle性能调优部分的初级内容,为常规的工作内容,包括 索引的使用和 表分析。环境准备概述针对前面章节中用到的数据库表teachers:1.建立一个1:1的表记录其银行账户记录表;2.再建立一个1:n的账户交易信息表,用来记录用户从账户中存钱和取钱的交易记录。3.编写一个程序,生成该交易表的记录信息,要求至
2013-05-05 18:52:45
940
转载 《12年资深DBA教你Oracle开发与优化——性能优化部分》-Oracle数据完整性和锁机制
本课内容属于Oracle高级课程范畴,内容略微偏向理论性,但是与数据库程序开发和管理、优化密切相关;另外本课的部分内容在前面章节已经涉及,请注意理论联系实际。事务 事务(Transaction)从 通讯的角度看:是用户定义的数据库操作序列,这些操作要么全做、要么全不做,是不可分割的一个工作单元。事务控制语句称为TCL,一般包括Commit和Rol
2013-05-05 18:50:08
557
转载 算法之快速排序
import java.util.Comparator;import java.util.Random; public class Quicksort { public static final Random RND = new Random(); private static void swap(Object[] array, int i, int j) {
2012-12-11 15:23:18
352
转载 算法之冒泡排序
public static void main(String[] args){ //测试数据 int arr[] = {5, 4, 1, 3, 6}; //冒泡排序 bubbleSort(arr, 5); //打印排序结果 int i; for(i = 0; i System.out.print
2012-12-11 15:10:19
355
转载 算法之希尔排序
public static void main(String[] args){ Random r = new Random(); Comparable[] data = new Comparable[20]; for(int i = 0; i data[i] = r.nextIn
2012-12-11 14:47:38
325
转载 算法之分冶法合并算法
//递归分成小部分 public void merge_sort(int[] arrays,int start,int end){ if(start<end){ int m=(start+end)/2; merge_sort(arrays,start,m); merge_sort(arrays,m+1,
2012-12-11 11:43:53
775
转载 算法之分冶算法-合并算法
private static int[] mergeSort(int[] array) { //如果数组的长度大于1,继续分解数组 if (array.length > 1) { int leftLength = array.length / 2; int rightLength = array.lengt
2012-12-11 11:41:17
380
转载 算法之直接插入排序降序,升序
//升序public static void Insertion_Sort(int[] elements){ for(int i = 1;i int j = -1; while(j elements[++j]);//找到element[i]应该摆放的位置,此处可以利用查找算法进行优化 if(
2012-12-11 11:21:24
974
转载 23种设计模式之访问者模式
25.2.1 访问者模式来解决用来解决上述问题的一个合理的解决方案,就是使用访问者模式。那么什么是访问者模式呢?(1)访问者模式定义(2)应用访问者模式来解决的思路仔细分析上面的示例,对于客户这个对象结构,不想改变类,又要添加新的功能,很明显就需要一种动态的方式,在运行期间把功能动态地添加到对象结构中去。有些朋友可能会想起装饰模式,装饰模式可以
2012-12-11 09:51:07
422
转载 23种设计模式之职责链模式
用来解决上述问题的一个合理的解决方案,就是使用职责链模式。那么什么是职责链模式呢?(1)职责链模式定义 (2)应用职责链模式来解决的思路仔细分析上面的场景,当客户端提出一个聚餐费用的申请,后续处理这个申请的对象,项目经理、部门经理和总经理,自然的形成了一个链,从项目经理à部门经理à总经理,客户端的申请请求就在这个链中传递,直到有领导处理为止。看起来,上面的功能要求很
2012-12-11 08:40:00
371
转载 23种设计模式之组合模式
15.2 解决方案15.2.1 组合模式来解决用来解决上述问题的一个合理的解决方案就是组合模式。那么什么是组合模式呢?(1)组合模式定义 (2)应用组合模式来解决的思路 仔细分析上面不用模式的例子中,要区分组合对象和叶子对象的根本原因,就在于没有把组合对象和叶子对象统一起来,也就是说,组合对象类型和叶子对象类型是完全不同的类型,这导致
2012-12-10 14:27:39
390
转载 23种设计模式之迭代模式2
14.3 模式讲解14.3.1 认识迭代器模式(1)迭代器模式的功能迭代器模式的功能主要在于提供对聚合对象的迭代访问。迭代器就围绕着这个“访问”做文章,延伸出很多的功能来。比如:以不同的方式遍历聚合对象,比如向前、向后等对同一个聚合同时进行多个遍历以不同的遍历策略来遍历聚合,比如是否需要过滤等多态迭代,含义是:为不同的聚合结构,提供统一的迭代接口,也就是说通过一
2012-12-10 14:24:53
406
转载 23种设计模式之迭代器模式1
14.2 解决方案14.2.1 迭代器模式来解决用来解决上述问题的一个合理的解决方案就是迭代器模式。那么什么是迭代器模式呢?(1)迭代器模式定义 所谓聚合是:指一组对象的组合结构,比如:Java中的集合、数组等。(2)应用迭代器模式来解决的思路 仔细分析上面的问题,要以一个统一的方式来访问内部实现不同的聚合对象,那么首先就需要
2012-12-10 14:19:17
387
转载 23种设计模式之迭代器模式
14.1.1 工资表数据的整合 考虑这样一个实际应用:整合工资表数据。 这个项目的背景是这样的,项目的客户方收购了一家小公司,这家小公司有自己的工资系统,现在需要整合到客户方已有的工资系统上。 客户方已有的工资系统,在内部是采用的List来记录工资列表;而新收购的这家公司的工资系统,在内部是采用的数组来记录工资列表;但是幸运的是,两个系
2012-12-10 14:17:25
347
转载 23种设计模式之命令模式4
3.7 命令模式的优缺点更松散的耦合 命令模式使得发起命令的对象——客户端,和具体实现命令的对象——接收者对象完全解耦,也就是说发起命令的对象,完全不知道具体实现对象是谁,也不知道如何实现。更动态的控制 命令模式把请求封装起来,可以动态对它进行参数化、队列化和日志化等操作,从而使得系统更灵活。能很自然的复合命令 命令模式中的命令对象,能够很容易的组合成为复合
2012-12-10 14:13:00
489
转载 23种设计模式之命令模式3
3.5 队列请求 所谓队列请求,就是对命令对象进行排队,组成工作队列,然后依次取出命令对象来执行。多用多线程或者线程池来进行命令队列的处理,当然也可以不用多线程,就是一个线程,一个命令一个命令的循环处理,就是慢点。 继续宏命令的例子,其实在后厨,会收到很多很多的菜单,一般是按照菜单传递到后厨的先后顺序来进行处理,对每张菜单,假定也是按照菜品的先后顺序进行制
2012-12-10 14:06:36
377
转载 23种设计模式之命令模式3
3.3 可撤销的操作 可撤销操作的意思就是:放弃该操作,回到未执行该操作前的状态。这个功能是一个非常重要的功能,几乎所有GUI应用里面都有撤消操作的功能。GUI的菜单是命令模式最典型的应用之一,所以你总是能在菜单上找到撤销这样的菜单项。 既然这么常用,那该如何实现呢? 有两种基本的思路来实现可撤销的操作,一种是补偿式,又称反操作式:比如被
2012-12-10 14:03:33
340
转载 23种设计模式之命令模式2
3.4 宏命令 什么是宏命令呢?简单点说就是包含多个命令的命令,是一个命令的组合。举个例子来说吧,设想一下你去饭店吃饭的过程: (1)你走进一家饭店,找到座位坐下 (2)服务员走过来,递给你菜谱 (3)你开始点菜,服务员开始记录菜单,菜单是三联的,点菜完毕,服务员就会把菜单分成三份,一份给后厨,一份给收银台,一份保留备查
2012-12-10 11:27:32
350
转载 23种设计模式之命令模式1
3.1 认识命令模式(1)命令模式的关键 命令模式的关键之处就是把请求封装成为对象,也就是命令对象,并定义了统一的执行操作的接口,这个命令对象可以被存储、转发、记录、处理、撤销等,整个命令模式都是围绕这个对象在进行。 (2)命令模式的组装和调用 在命令模式中经常会有一个命令的组装者,用它来维护命令的“虚”实现和真实实现之间的关系。如果是超级智能的
2012-12-10 11:25:46
604
转载 23种设计模式之命令模式
命令模式也是开发中常见的一个模式,也不是太难,比较简单,下面来详细的写一下命令模式。 命令模式(Command)1 场景问题1.1 如何开机 估计有些朋友看到这个标题会非常奇怪,电脑装配好了,如何开机?不就是按下启动按钮就可以了吗?难道还有什么玄机不成。 对于使用电脑的客户——就是我们来说,开机确实很简单,按下
2012-12-10 11:23:36
327
转载 23种设计模式之观察者模式
用来解决上述问题的一个合理的解决方案就是观察者模式。那么什么是观察者模式呢?(1)观察者模式定义 (2)应用观察者模式来解决的思路在前面描述的订阅报纸的例子里面,对于报社来说,在一开始,它并不清楚究竟有多少个订阅者会来订阅报纸,因此,报社需要维护一个订阅者的列表,这样当报社出版报纸的时候,才能够把报纸发放到所有的订阅者手中。对于订阅者来说,订阅者也就是看报的读者,多
2012-12-10 11:20:15
317
转载 23种设计模式之代理模式
用来解决上述问题的一个合理的解决方案就是代理模式。那么什么是代理模式呢?(1)代理模式定义 (2)应用代理模式来解决的思路仔细分析上面的问题,一次性访问多条数据,这个可能性是很难避免的,是客户的需要。也就是说,要想节省内存,就不能从减少数据条数入手了,那就只能从减少每条数据的数据量上来考虑。一个基本的思路如下:由于客户访问这多条用户数据的时候,基本上只需要看
2012-12-10 10:58:48
364
转载 23种设计模式之中介者模式1
用来解决上述问题的一个合理的解决方案就是中介者模式。那么什么是中介者模式呢?(1)中介者模式定义 (2)应用中介者模式来解决的思路仔细分析上面的问题,根本原因就在于多个对象需要相互交互,从而导致对象之间紧密耦合,这就不利于对象的修改和维护。中介者模式的解决思路很简单,跟电脑的例子一样,中介者模式通过引入一个中介对象,让其它的对象都只和中介对象交互,而中介对象
2012-12-10 10:32:22
404
转载 23种设计模式之原型模式2
用来解决上述问题的一个合理的解决方案就是原型模式。那么什么是原型模式呢?(1)原型模式定义 (2)应用原型模式来解决的思路仔细分析上面的问题,在saveOrder方法里面,已经有了订单接口类型的对象实例,是从外部传入的,但是这里只是知道这个实例对象的种类是订单的接口类型,并不知道其具体的实现类型,也就是不知道它到底是个人订单还是企业订单,但是现在需要在这个方法里面创
2012-12-10 10:22:51
279
转载 23种设计模式之原型模式
9.1.1 订单处理系统考虑这样一个实际应用:订单处理系统。现在有一个订单处理的系统,里面有个保存订单的业务功能,在这个业务功能里面,客户有这么一个需求:每当订单的预定产品数量超过1000的时候,就需要把订单拆成两份订单来保存,如果拆成两份订单后,还是超过1000,那就继续拆分,直到每份订单的预定产品数量不超过1000。至于为什么要拆分,原因是好进行订单的后续处理,后续是由人工来
2012-12-10 10:19:28
340
仿GOOGLE地图简易地图引擎
2019-11-26
语言集成查询LINQPAD
2015-10-12
IMP-00038无法转换为环境字符集句柄
2015-04-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人