标签:需要 tst family padding stripe any mat overflow view
目前O3建议无论模式都进行统计信息收集,部分查询采取的是all_rows模式
--查看当前数据库CBO优化方式,默认all_rows方式CBO
show parameter optimizer_mode;
--修改优化器模式
alter system set optimizer_mode=all_rows scope=both;
# sql
select last_analyzed,table_name,owner,num_rows,sample_size from dba_tables where owner=‘SCOTT‘;
查询结果
字段名 | 对应 |
---|---|
LAST_ANALYZED | 上次时间 |
TABLE_NAME | 表名 |
OWNER | 用户 |
NUM_ROWS | 当前条数 |
SAMPLE_SIZE | 统计信息条数 |
使用DBMS_STATS包手工收集统计数据,其实自动收集的gather_stats_job作业本质上也是使用包来实现收集的,区别看是否是oralce自动执行的内部行为。
dbms_stats包提供几种过程来统计不同粒度的数据,分为统计数据库,模式,表以及索引
名 | 解释 |
---|---|
gather_database_statistics | 为全库表的表统计数据 |
gather_schema_statistics | 为某个模式统计数据 |
gather_table_statistics | 为某个特定的表收集统计数据 |
gather_index_statistics | 为某个索引表统计数据 |
统计数据会存储在***dba_tab_statistics*** 和 ***dba_tab_col_statistics***数据字典中
手工收集举例
注:
手工收集整个数据库统计信息
标签:需要 tst family padding stripe any mat overflow view
原文地址:https://www.cnblogs.com/andymdcc/p/9163791.html