当前位置: 首页 > news >正文

5年前问题的答案,如何造统计信息

数据变化有规律的前提下,为了减少收集统计信息耗时或避免错过收集窗口,巧妙的办法是复制统计信息

set lin 120
create table sales_range
(salesman_id number(5),
salesman_name varchar2(30),
sales_amount number(10),
sales_date date)
partition by range(sales_date)
(
partition sales_jan2000 values less than(to_date('01/02/2000','dd/mm/yyyy')),
partition sales_feb2000 values less than(to_date('01/03/2000','dd/mm/yyyy')),
partition sales_mar2000 values less than(to_date('01/04/2000','dd/mm/yyyy')),
partition sales_apr2000 values less than(to_date('01/05/2000','dd/mm/yyyy'))
);

create index salesman_id_ix on sales_range (salesman_id) local;

insert into sales_range values(10,'scott',1000,'01-jan-2000');
insert into sales_range values(20,'smith',1200,'01-jan-2000');
insert into sales_range values(30,'allen',1300,'01-jan-2000');
commit;

exec dbms_stats.gather_table_stats(ownname=>'', tabname=> 'sales_range', granularity=>'all');

select count(*) from sales_range partition (sales_jan2000);
select partition_name,num_rows,avg_row_len,blocks,last_analyzed from user_tab_partitions where table_name='SALES_RANGE';
select partition_name, num_rows,leaf_blocks,avg_leaf_blocks_per_key,last_analyzed from  user_ind_partitions where index_name='SALESMAN_ID_IX';

根据需要考虑是否锁定
--exec dbms_stats.unlock_table_stats('','sales_range');
exec dbms_stats.copy_table_stats('','sales_range','sales_jan2000','sales_feb2000',1.01);
--exec dbms_stats.lock_table_stats('','sales_range');

exec dbms_stats.delete_table_stats(ownname=>user,tabname=>'sales_range',partname=>'sales_feb2000',cascade_indexes=>true);

在这里插入图片描述

如果不锁定,后期收集窗口会修改吗?
会的

SALES_FEB2000的实际数据有1条
在这里插入图片描述

http://www.dtcms.com/a/51845.html

相关文章:

  • Claude 3.7登顶webdev榜首,国内怎么使用Claude 3.7
  • 【YashanDB认证】yashandb23.3.1 个人版单机部署安装实践
  • 深入MiniQMT:实现远程下单的高效解决方案
  • 14、TCP连接如何确保可靠性【高频】
  • 多线程-定时任务线程池源码
  • navicat导出postgresql的数据库结构、字段名、备注等等
  • kubectl 运行脚本 kubernetes 部署springcloud微服务 yaml + Dockerfile+shell 脚本
  • 大模型巅峰对决:DeepSeek vs GPT-4/Claude/PaLM-2 全面对比与核心差异揭秘
  • PTA L2一些题目
  • PMP项目管理—沟通管理篇—1.规划沟通管理
  • 深圳区域、人口、地铁线
  • nvm的使用汇总
  • 珈和科技应邀参会农药减施增效研讨会 共探植保未来发展新篇章
  • 程序员学习强化学习之基本概念的数学表达
  • 在华为设备上,VRRP与BFD结合使用可以快速检测链路故障并触发主备切换
  • 【五.LangChain技术与应用】【14.LangChain与MoonShot、通义千问:多模型融合的实战】
  • 【时时三省】(C语言基础)算术表达式和运算符
  • 如何在 Aptos 上铸造 NFT
  • 网络安全可以从事什么工作?
  • Android14 OTA升级
  • 大模型如何协助知识图谱进行实体关系之间的分析
  • 【Azure 架构师学习笔记】- Azure Databricks (16) -- Delta Lake 和 ADLS整合
  • Android14 OTA差分包升级报Package is for source build
  • 计算机毕业设计SpringBoot+Vue.js物流管理系统(源码+文档+PPT+讲解)
  • 推导二项型事件的随机变量标准误差:两种方法
  • GNU Binutils 全工具指南:从编译到逆向的完整生态
  • 铺地毯!!!
  • P3385 【模板】负环
  • 阿里云oss开发实践:大文件分片、断点续传、实时进度 React+Node+Socket.IO
  • Windows 图形显示驱动开发-WDDM 3.2-本机 GPU 围栏对象(二)