- 浏览: 30199 次
- 性别:
- 来自: 长沙
文章列表
enumerables = true,
enumerablesTest = { toString: 1 },
for (i in enumerablesTest) {
enumerables = null;
}
if (enumerables) {
enumerables = ['hasOwnProperty', 'valueOf', 'isPrototypeOf', 'propertyIsEnumerable',
'toLocaleString', 'toString', 'construct ...
Function函数分析
- 博客分类:
- extjs && js
Ext.Function = {
flexSetter:function(fn){},
bind:function(fn, scope, args, appendArgs){},
pass:function(fn, args, scope){},
alias:function(object, methodName){},
clone: function(method) {}.
createInterceptor: function(origFn, newFn, scope, returnValue) {},
createDelayed: f ...
1,dbms_xplan 能显示三个地方的执行计划
计划表中 库缓存中 awr
2,输出部分
第一部分:
sql_id :识别父游标 只有当调用display_cursor 和display_awr才会产生
属于这个sql_id的子游标序号,可以识别出子游标。只有调用display_cursor才会产生
sql语句的内容
第二部分:
执行计划的hash值和执行计划本身
3,执行计划本身
基本字段 :
id :如果有*号,说明后面有谓词信息
operation :行源操作
name :操作的对象
查询优化器评估 ...
获取执行计划的方法:
1,执行sql语句的explain plan,查询结果输出表
explain for statement 需要statement涉及到的基础表和视图的访问权限
可以用dbms_xplan.display查询执行计划表
2,查询动态性能视图
v$sql_plan和v$sql_plan_statistics_all
建议使用dbms_xplan.display_cursor
3,awr和statspack
awr的前身是statspack
可以通过视图dba_hist_sql_plan得到
dbms_xplan.dis ...
PL/SQL5分钟学习总结之二
- 博客分类:
- 从开发到dba慢慢长路
1,单行单列
用变量即可存储
2,单行多列
record (见总结一) 格式: type name is record (fieldname type...);
3,多行单列
集合(变量)
4,多行多列
集合(record)
==========================华丽分割线===========================
集合 :(type name is table of typedefine index by binary_integer)
1 多行单列
declare
type array_empname is table ...
PL/SQL5分钟学习总结之一
- 博客分类:
- 从开发到dba慢慢长路
1,%type 声明字段匹配类型
declare
v_ename emp.ename%type;
begin
select ename into v_ename from emp where empno=7369;
dbms_output.put_line(v_ename);
end;
2,%rowtype 声明一行记录匹配类型
declare
v_emp emp%rowtype;
begin
select * into v_emp from emp where empno=7369;
dbms_output.put_line(v_emp.sal ...
select *
from A a, B b
where a.id(+)=b.id (+)对面代表连接方向,这里为右链接,理解为把a表数据+到右边的表,所以右边为主表,数据全部列出来,a表符合的数据+上去
select *
from A a,B b
where a.id = b.id(+) 右边的表+到左边,所以为左链接,同时被加方A表为主表
extjsAPI分析之String
- 博客分类:
- extjs && js
公有函数
1,trim() 去掉左右两边空格
核心思想 : this.replace(/^\s+|\s+$/g,"")
^:以开始
$:以结束
\s:空白
+:一次或多次
附加选项g : 这里代表匹配字符串全部,如果没有此选项,上述只会除掉前面的空格
2,toggle(value,other) 选择关卡
alert('aa'.toggle('aa','cc')); //cc
alert('aa'.toggle('bb','cc')); //bb 如果都不等
核心思想 : this == value ? ...
var f1 = function() {
alert('f1');
return true;
}
var f2 = function() {
alert('f2');
return true;
}
alert( f1() || f2()) 短路或操作 : 只要第一个为true就不继续执行了
结果为:f1 true
alert( f1() | f2()) 非短路或操作
结果为:f1 f2 1(而且结果真的时 ...
1,对于以前的线程可以设置默认的异常处理器
public class Test1 {
public static void main(String[] args) {
Task task = new Task();
Thread.setDefaultUncaughtExceptionHandler(new MyExcetionHandler());
Thread t = new Thread(task);
t.start();
}
}
class Task implements Runnable {
public void run() {
throw new ...
1,v$statname:
statistic# 统计量编号
name 统计量名称
这个表展示了所有统计量,即统计项 oracle 10g 共347个统计项
2,v$mystat:
当前会话的统计量,展示了v$statname里所有统计项的值 一共347条记录
statistic# 统计量编号
value 值
3,v$sesstat:
实例启动以来,所有会话的统计信息
每个会话都有对应的统计项347记录
4,v$sysstat:
实例启动以来,所有统计项的每个项的累计值
共347条记录,每条记录为实例 ...
1,instr(源字符串,目标字符串,搜索位置,匹配第几个)
注意:字符串的位置是从1开始,搜索位置必须为从1开始,如果搜索位置为0,则查找结果为0,查找结果为0代表未找到。
select instr('acv','c',1,1) from dual;从a开始,查找第一个匹配c的位置,结果为2
2,substr(字符串,截取位置,截取长度)
注意:索引位置为1开始,如果为0,还是为1
select substr('acv',1,1) from dual //a
select substr('acv',0,1) from dual //a
如果截取位置 ...
函数:调用者 (函数所在的上下文)
所有者 (函数被哪个对象调用)
所有者: 通过直接赋值给某个对象的变量
var T = function(){}
var t = new T();
t.test = function a(){alert(this)}
this就是t这个对象
通过call和apply赋值
function(){alert(this)}.call({s:"s"},"s")
...
arguments.callee 返回当前运行的函数
arguments.callee.length 形参
arguments.length 实参
*.caller 返回当前函数的上下文也就是函数调用者
function test(){
alert(arguments.callee.length)// 0
alert(arguments.length) //1
alert(arguments.callee);// 就是这个函数
alert(test.caller); // a
}
function a(){
test("sss");
}
a();
函数 ...
1,私有类型 :私有,即只能自己使用,在下面的例子,就是说只能在这个函数里使用这个属性
( function(){
var a = "私有属性";
alert(a); //私有属性
})()
alert(a);//error a没有定义
2,实例属性 :即属于实例对象才能访问
var a = function(){
this.x="实例属性";
}
var t1 = new a();
var t2 = new a();
t1和t2各有一个x,各自改变相互不影响
3,原型属性:
var a = fu ...