- 浏览: 31149 次
- 性别:
- 来自: 深圳
最新评论
文章列表
oracle变量绑定
- 博客分类:
- oracle优化
一、游标:游标可以理解为SQL语句的一个句柄,也叫SQL语句的指针,游标指向一条SQL语句,ORACLE会话要执行一条SQL时,首先要打开游标。
二、SQL解析的过程:
硬解析步骤:
1.对SQL语句进行语法检查,看是否有语法错误
2.通过数据字典,检查SQL语句中涉及的对象和列是否存在
3.检查SQL语句的用户是否对涉及的对象有权限
4.通过优化器创建一个最优的执行计划。这个过程会根据数据字典中对象的统计信息来计算多个执行计划的cost,从而得到一个最优的执行计划。这一步涉及到大量的数据运算,从而消耗大量的CPU资源。(library cache最主要的目的就是通过软解析来 ...
oracle函数之table()用法详解
- 博客分类:
- oracle函数
一、table()与返回值为数组类型的普通函数一起使用:
--创建类型
CREATE OR REPLACE TYPE T_MYTEST AS OBJECT(
ID NUMBER,
TIME DATE,
NAME VARCHAR2(60)
);
/
--创建T_MYTEST类型的数组 T_MYTEST_TABLE
CREATE OR REPLACE TYPE T_MYTEST_TABLE AS TABLE OF T_MYTEST;
/
--创建普通函数,返回数组类型,用数组的实例存放结果集
CREATE OR R ...
1.通过设置变量: autotrace
Set timing on
Set autotrace traceonly
Select * from test;
Set autotrace off
2.分析AWR时,可以根据SQL_ID找到真实的执行计划,绑定变量,统计信息
select hash_value, child_number, sql_text from v$sql s
where s.SQL_ID = '866n2xzvtyndu';
select * from table(dbms_xplan.display_cursor(hash_value, chil ...
oracle应用之数据恢复
- 博客分类:
- oracle应用
--查询回收站里面的对象
SELECT * FROM USER_RECYCLEBIN T WHERE T.original_name = 'BK160106_SP_SS_TASK_SURVE_209'
--恢复删除的表
FLASHBACK TABLE BK160106_SP_SS_TASK_SURVE_209 TO BEFORE DROP;
--查询误删除的数据
SELECT * FROM FLASHBACK_TRANSACTION_QUERY Q WHERE Q.table_name='';
--根据时间恢复数据
SELECT * FROM SP_SS_ACCIDENT_REP ...
rank()函数使用详解
- 博客分类:
- oracle函数
1.rank()函数是分级函数,这个函数必须与over函数一起使用,否则会报"缺少窗口函数错误"。
2.sql:
SELECT A.EMPNO AS 员工编号,
A.SAL AS 薪资,
A.JOB AS 岗位,
rank() OVER(PARTITION BY A.JOB ORDER BY A.SAL DESC) AS 岗位薪资等级
FROM EMP A
commons-pool连接池的实现应用
- 博客分类:
- java设计模式
一、描述:
apache commons-pool本质上是"对象池",即通过一定的规则来维护对象集合的容器;commons-pool用来实现"连接池"或"任务池"等,dbcp也是基于commons-pool实现。
二、commons-pool实现思路:
将"对象集合"池化,任何通过pool进行对象存取的操作,都会严格按照"pool配置"试试的创建对象、阻塞控制、销毁对象等。实现了对象集合的管理以及对象的分发。
a.将创建对象的方式,使用工厂模式;
b.通过"pool配置&q ...
JAVA SE之泛型的应用
- 博客分类:
- JAVA SE
1.定义带类型参数的类:
在定义带类型参数的类时,在紧跟类名之后的<>内,指定一个或多个类型参数的名字,同时也可以对类型参数的取值范围进行限定,多个类型参数之间用逗号","隔开。
定义完类型参数后,可以在定义位置之后的类的几乎任意地方(静态块,静态方法,静态属性除外)使用类型参数,就像使用普通的类型一样。
public class TestClass<T,S extends T>{... ...}
2.定义带类型参数的方法:
在定义带类型参数的方法时,在紧跟可见范围修饰(public private protected)之后的< ...
android开发之adb常用命令详解
- 博客分类:
- android
一、使用adb命令管理设备
1、adb devices --查看所有连接到电脑的设备(序列号 设备状态)
2、adb get-state--获取设备连接状态
3、adb get-serialno--获取设备序列号
4、adb reboot --重启设备
5、adb reboot [bootloader|recovery] --进入fastboot|recovery模式
6、adb shell --只有一个设备连接电脑时进入设备的方法
7、adb -s serialno shell --进去指定序列号的设备
8、adb -d shell --进去真实设备
9、adb -e ...
深入理解JVM类加载器
- 博客分类:
- JAVA SE
一.类加载的一般过程:
1.寻找jre目录,寻找jre/client/jvm.dll,并初始化JVM
2.产生一个Bootstrap Loader(启动类加载器)
3.Bootstrap Loader自动加载Extended Loader(标准扩展类加载器),并将其父Loader设置为Bootstrap Loader
4.Bootstrap Loader自动加载AppClass Loader(系统类加载器),并将其父Loader设为Extended Loader
5.最后由AppClass Loader加载
二.类加载器各自搜索的目录:
1.Bootstrap Loader:Sy ...
OSGi(一)之引导篇
- 博客分类:
- 企业架构之java模块化
1.什么是OSGi:
OSGi是java世界中唯一的模块化规范,由JCP组织制定。
2.为什么使用OSGi:
a.使用OGSi一个很重要的原因就是弥补java中资源精细划分的缺陷,加强架构的自约束能力。
b.动态修复缺陷,可以做到不停机地增加或禁止某项功能、更新某个模块,甚至可以建立一个统一更新的模块仓库,让系统不中断运行的情况下做到自动更新升级。
mongodb数据库的安装与启动
- 博客分类:
- 非关系型数据库
一、安装
1.首先下载mongoDB的安装包
2.在本地创建文件夹
d:\mongodb
d:\mongodb\db 数据库目录
d:\mongodb\log 日记存放目录
d:\mongodb\log\mongoDB.log
3.解压下载的mongoDB安装包,将bin文件夹拷贝到d:\mongodb中
二、启动
1.在bin目录下有许多命令,启动数据库只需要2个命令:
mongod:是,mongoDB数据库进程本身
mongo:是命令行shell客户端
2.启动mongoDB进程:D:\mongodb\bin>mongod --dbpath=D:\ ...
oracle函数(三)之over
- 博客分类:
- oracle函数
1.oracle over()函数是从oracle8i开始支持,后面的版本支持的比较好。
2.通常做统计分析的时候我们希望尽可能多的选择出原始列和统计值列,这样group by后面必须跟随更多的列,使用分析函数可以避免使用group by时选择出来的列名必须出现在group by列表中的痛苦
对分析函数的一种条件解释,就是给分析函数加条件。
注:9i下over()括号内必须有内容,不允许为空
select deptno,ename,sal,
sum(sal) over(partition by deptno order by ename) "部门连续求和&q ...
maven基础(一)之常用命令
- 博客分类:
- 项目管理工具
一:Maven简介:
Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来定义生命周期阶段(Phases) ...
oracle dblink应用
- 博客分类:
- oracle应用
一、database link概念:一个数据库到另一个数据的路径对象,允许查询远程表及执行远程程序。
特别提示:是单向的连接
建立前提:1.两台机器网络连接正常 2.在远程数据库上面有相应的访问权限
二、dblink 基本语法:
CTEATE DATABASE LINK LINK_NAME CONNECT TO [USER][CURRENT_USER] IDENTIFIED BY
[PASSWORD] USING [CONNECT_STRING]
例子:create database link branch ...
oracle表分区
- 博客分类:
- 数据库分组的高级应用
1.表空间及分区表的概念:
表空间:是一个或多个文件的集合,所有的数据对象都存放在指定的表空间中。
分区表:当表中的数据不断增大后就会导致查询的速度降低,影响整个应用程序的性能,这时就应该考虑对表进行分区。表分区后,逻辑上仍然是一张完整的表,只是表中的数据在物理上存放到多个表空间(物理文件)上,这样查询数据是,不至于每次都扫描整张表。
2.分区功能能将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可以集体管理,也可以单独管理,这就使数据库管理员在管理分区后 ...