日期:2014-05-17 浏览次数:20848 次
1)统计信息里面,有两行和性能有关。
15 SQL*Net roundtrips to/from client
198 rows processed
第一行表示,从buffer cache到PGA的结果集的往返次数
第二行表示,访问到的数据块里面的行的个数
计算:
SQL*Net roundtrips=[ rows processed/arraysize]+2,当且仅当,rows processed为0,则SQL*Net roundtrips等于1.
比如:15=[198/13]+2
注释:在sql*plus中,arraysize缺省为15,命令set arraysize n 可设定arraysize的值。
2)L99999,999.000
a)L:表示继承nls_territory的属性
b)9:表示替换符
c)0:表示占位符
d),:表示千分位
f)若是$999999,则查询输出便总是$打头
3)break on 字段名
作用:去掉单列重复值
SQL> select employee_id,hire_date,job_id from employees;
EMPLOYEE_ID HIRE_DATE JOB_ID
----------- -------------- --------------------
198 21-6月 -99 SH_CLERK
199 13-1月 -00 SH_CLERK
200 17-9月 -87 AD_ASST
201 17-2月 -96 MK_MAN
202 17-8月 -97 MK_REP
203 07-6月 -94 HR_REP
204 07-6月 -94 PR_REP
205 07-6月 -94 AC_MGR
206 07-6月 -94 AC_ACCOUNT
100 17-6月 -87 AD_PRES
101 21-9月 -89 AD_VP
102 13-1月 -93 AD_VP
103 03-1月 -90 IT_PROG
104 21-5月 -91 IT_PROG
105 25-6月 -97 IT_PROG
106 05-2月 -98 IT_PROG
107 07-2月 -99 IT_PROG
SQL> break on job_id
SQL> /
EMPLOYEE_ID HIRE_DATE JOB_ID
----------- -------------- --------------------
198 21-6月 -99 SH_CLERK
199 13-1月 -00
200 17-9月 -87 AD_ASST
201 17-2月 -96 MK_MAN
202 17-8月 -97 MK_REP
203 07-6月 -94 HR_REP
204 07-6月 -94 PR_REP
205 07-6月 -94 AC_MGR
206 07-6月 -94 AC_ACCOUNT
100 17-6月 -87 AD_PRES
101 21-9月 -89 AD_VP
102 13-1月 -93
103 03-1月 -90 IT_PROG
104 21-5月 -91
105 25-6月 -97
106 05-2月 -98
107 07-2月 -99
SQL> clear break
breaks 已清除
4)dba视图和user视图通常是成双成对的。如:
dba_cons_columns
user_cons_columns
5)DML的注意事项
insert和插入顺序,只要有空间就插入,随意。
update和行迁移,保留的pctfree不足,可能会有行溢出
delete无法改变HWM,全表扫描时仍然效率低下
6)update在开发中要注意:须先select ...... for update nowait;再来update
会话1:
SQL> select * from t;
ID NAME
---------- --------------------
1 a
2 b
3 c
SQL> update t set name='d' where id=1;