WINDOWS下的程序员出身,偶尔也写一些linux平台下小程序, 后转行数据库行业,专注于ORACLE和DB2的运维和优化。 同时也是ios移动开发者。欢迎志同道合的朋友一起研究技术。 数据库技术交流群:58308065,23618606
全部博文(599)
分类: Oracle
2009-12-01 14:18:44
如果索引的CLUSTERING_FACTOR值接近于表中块的数量,则表中的大多数行就被排序。
如果索引CLUSTERING FACTOR该值接近于表中行的数据,则表示表中的大多数行被随机排序。
OPTIMIZER_INDEX_COST_ADJ:缺省值是100,如果设置较低,则ORACLE会认为使用索引访问是廉价的。
OPTIMIZER_INDEX_CACHING:缺省值是0,如果设置较高,则ORACLE会认为有较高百分比的索引块已位于CACHE中。
事件号:187
事件名:db file sequential read
参数一:读取数据块的文件号file#
参数二:起始块号block#
参数三:块数blocks,绝大多数情况下是1,但对临时段可以大于1.
由参数P1与P2推得访问的数据对象:
select s.segment_name, s.partition_name
from dba_extents s
where
select a.sid,
a.event,
a.time_waited,
round(a.time_waited/c.sum_time_waited*100 , 2) || '%' pct_wait_time,
round((sysdate - b.LOGON_TIME) * 24) hours_connected
from v$session_event a,
v$session b,
(select sid, sum(time_waited) sum_time_waited
from v$session_event
where event not in ('null event', 'SQL*Net message to client',
'pmon timer', 'pipe get', 'smon timer', 'jobq slave wait',
'rdbms ipc message', 'rdbms ipc reply', 'PX Deq: Join ACK',
'PX Deq: Signal ACK')
having sum(time_waited) > 0 -- 对group by 产生结果的挑选
group by sid) c
where a.sid = b.sid
and a.sid = c.sid
and a.TIME_WAITED > 0
and a.EVENT = 'db file sequential read'
order by hours_connected desc, pct_wait_time
SELECT a.event,
a.total_waits,
a.time_waited,
round(a.time_waited / a.total_waits,2) average_wait,
trunc(SYSDATE - b.startup_time) days_old
FROM v$system_event a, v$instance b
ORDER BY a.time_waited
SELECT t.file_name,
t.tablespace_name,
round(s.singleblkrdtim / s.singleblkrds, 2) AS "单块读所费时间(cs)",
s.READTIM,
s.WRITETIM
FROM v$filestat s, dba_data_files t
WHERE s.file# = t.file_id