oracle sql 优化核心思想小结

  1. 基数: 某个列唯一键(distinct keys ) 的数量 叫做基数

  2. 选择性: 基数与总行数的比值在乘以100% 就是某个列的选择性

  3. 回表 table access by index rowid

  4. 集群因子(表的数据和索引的顺序的 一致性的反应)

  5. 更新 统计信息
    begin

dbms_stats.gather_table_stats(
ownname => ‘YWGL’,
tabname => ‘YWGL_DBA_OBJECTS’,
estimate_percent => 100,
method_opt => ‘for all columns size auto’,
no_invalidate => FALSE,
degree =>1,
cascade => TRUE
);

end;

// 表示对出现在where条件的列自动判断是否收集直方图

begin

dbms_stats.gather_table_stats(
ownname => ‘YWGL’,
tabname => ‘YWGL_DBA_OBJECTS’,
estimate_percent => 100,
method_opt => ‘for columns object_type size skewonly’,
no_invalidate => FALSE,
degree =>1,
cascade => TRUE
);

end;

//表示单独对 object_type 列收集直方图,对于其余列,如果之前收集过直方图,现在也收集

6.查看表和索引的统计信息

查看表的统计信息
	select * from user_tables;

查看列的统计信息
	select * from user_tab_col_statistics;
	
查看索引的统计信息
	select  * from user_indexes;

查看表的大小
select * from user_segments;

select * from user_tab_col_statistics;
select * from user_indexes;
  1. 单独更新索引的统计信息
    begin
    DBMS_STATS.GATHER_INDEX_STATS(
    ownname => ‘SCOTT’,
    indname => ‘IDX_T_STAT_ID’
    )

8.判断统计信息是否过期, 过期的原因

 a.  先刷新数据库监控信息
	begin 
		dbms_stats.flush_database_monitoring_info;
	end;
	
	 在执行以下语句
		select owner, table_name, object_type, stale_stats, last_analyzed from user_tab_statistics where owner = 'SCOTT' AND table_name = 'tb_out_Task';
		
		
 b, 查询过期的原因
	select * from user_tab_modifications;
 
user_tab_statistics   user_tab_modifications

组合索引 :
8.3 9.1 第10章

  1. 更改连接方式 (半连接子查询 的 别名)
    select /+ use_hash(c, d@a) leading(a)/ * from dept c where c.deptno in (select /+ qb_name(a)/ d.deptno from emp d);

select * from table(dbms_xplan.display_cursor(null,null,‘ALLSTATS LAST’));

http://blog.csdn.net/robinson1988/article/details/7002545


http://blog.csdn.net/robinson1988/article/details/51148332

http://blog.csdn.net/robinson1988/article/details/6613851


http://blog.csdn.net/robinson1988/article/details/40870901

http://blog.csdn.net/robinson1988/article/details/7219958

在这里插入图片描述

oracle 分页语句建索引的 规则

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值