如何在oracle数据库中查询记录在100万条以
答案:1 悬赏:0 手机版
解决时间 2021-03-08 07:22
- 提问者网友:暗中人
- 2021-03-07 06:29
如何在oracle数据库中查询记录在100万条以
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-03-07 07:49
可用两种方法,一种是在oracle的系统表中统计,另一种需要写存储过程统计,方法分别如下。
1、系统表中统计:
1SELECt sum(num_rows) FROM user_tables;结果:
2、存储过程统计,代码如下:
declarev_tName varchar(50);v_sqlanalyze varchar(500);v_num number;v_sql varchar(500);cursor c1 isselect table_name from user_tables;beginopen c1;loopfetch c1 into v_tName;if c1%found then v_sqlanalyze :='analyze table '||v_tName||' estimate statistics';execute immediate v_sqlanalyze;v_sql := 'select NUM_ROWS from user_tables where table_name =upper('''||v_tName||''')'; execute immediate v_sql into v_num;dbms_output.put_line('表名: '||v_tName||' 行数: '||v_num);elseexit;end if;end loop;end;统计结果:
1、系统表中统计:
1SELECt sum(num_rows) FROM user_tables;结果:
2、存储过程统计,代码如下:
declarev_tName varchar(50);v_sqlanalyze varchar(500);v_num number;v_sql varchar(500);cursor c1 isselect table_name from user_tables;beginopen c1;loopfetch c1 into v_tName;if c1%found then v_sqlanalyze :='analyze table '||v_tName||' estimate statistics';execute immediate v_sqlanalyze;v_sql := 'select NUM_ROWS from user_tables where table_name =upper('''||v_tName||''')'; execute immediate v_sql into v_num;dbms_output.put_line('表名: '||v_tName||' 行数: '||v_num);elseexit;end if;end loop;end;统计结果:
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯