oracle编程入门笔记2015-01-18--常用oracle查询语句

1.查询数据存储的物理块信息

select e.rowid,

(select file_name
from dba_data_files where file_id =
dbms_rowid.rowid_to_absolute_fno(e.rowid,'SCOTT','EMP')) FILEN,
dbms_rowid.rowid_block_number(e.rowid) block_no,
dbms_rowid.rowid_row_number(e.rowid) row_no
from emp e
where e.ename='KING'

/

注:记得第二个参数,是用户名,一定要大写。




2.收集统计信息

BEGIN  
  DBMS_STATS.GATHER_TABLE_STATS(ownname =>'DPCRM',  
                                TABNAME => 'T_CUST_CUSTBASEDATA',  
                                CASCADE    =>TRUE,  
                                METHOD_OPT =>'for ALL columns SIZE 1');  
END; 

还有很多参数可以自行搜索。



3.统计索引聚簇因子

select i.table_name || '.' || i.index_name index_name,
       i.clustering_factor,
       t.blocks,
       t.num_rows
  from user_indexes i, user_tables t
 where t.table_name = i.table_name

聚簇因子是oracle决定是否使用索引的一个关键因素。但是聚簇因子往往是不那么准确的。


这是在一本书上看到的关于聚簇因子计算的原理的模拟。

聚簇因子是先按照索引列排序,然后查看前后两行记录是否在同一个块上。如果不在这个索引的聚簇因子就加1



4.查询最近执行过的sql

select sql_id, child_number, hash_value, address, executions, sql_text
  from v$sql
 where parsing_user_id =
       (select user_Id from all_users where username = 'DPCRM')
   and command_type in (2, 3, 6, 7, 189)






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值