Oracle 数据库的统计功能?比如需要统计某个字段所对应的数据个数,并写入统计表,该如何操作。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 数据库的统计功能?比如需要统计某个字段所对应的数据个数,并写入统计表,该如何操作。相关的知识,希望对你有一定的参考价值。
用一个过程create or replace procedure procedure_name as
begin
insert into 统计表
select 字段名1,count(1) from 表 group by 字段名1
--统计表中的字段。(字段名1,数量)。如果有其它字段,请加入到下面select语句中。如:
/* insert into 统计表
select 字段名1,sysdate,\'统计者的姓名\', count(1) from 表 group by 字段名1*/
end; 参考技术A 创建一个函数或过程,演示示例
CREATE OR REPLACE FUNCTION function_name()
return number
as
ll_count number;
begin
SELECT count(1) INTO ll_count FROM d_ct51c WHERE a='1';
INSERT INTO R_LHT_413 (counts) VALUES (ll_count );
return ll_count;
end;
/
Oracle统计信息(表、索引)更新怎么操作?
看到有人做过这种类似的操作,可以加快SQL的执行速度,我没有弄过,想问下:
A 如何做ORACEL针对某个用户的统计信息更新
B 如何让这种统计信息更新 (定期自动执行,比如一周执行一次)
以上操作可以在PLSQL中操作吗?
我是初学者,没有弄过,还请各位大虾多多指导,谢谢
exec dbms_stats.gather_schema_stats(
ownname => 'SCOTT',
options => 'GATHER AUTO',
estimate_percent => dbms_stats.auto_sample_size,
method_opt => 'for all columns size repeat',
degree => 15
);
dbms_stat.gather_schema_stats 的参数说请查相关资料,这里就不详述了。
B. 要定期执行用户统计信息很简单,只要在 oracle job 中调用这个过程就可以了,设置好初次调用时间和调用时间间隔即可。
以上的操作都能在plsql中操作。 参考技术A A 如何做ORACEL针对某个用户的统计信息更新
不大明白这个统计信息时什么意思?这个信息时什么信息?统计是个什么概念?
B 如何让这种统计信息更新 (定期自动执行,比如一周执行一次)
采用ORACLE的JOB作业
以上是关于Oracle 数据库的统计功能?比如需要统计某个字段所对应的数据个数,并写入统计表,该如何操作。的主要内容,如果未能解决你的问题,请参考以下文章