1.分析
主要有三个关键点:
USER_TABLES(TABS) 模糊查询的下划线_处理 ORACLE-ANALYZE
1.1.USER_TABLES(TABS)
USER_TABLES(TABS):特定于当前用户的所有表的视图。
此时图包含表名(TABLE_NAME)、记录条数(NUM_ROWS)等信息。
例如,查询当前用户下所有的表名和记录条数:
select TABLE_NAME,NUM_ROWS from tabs;
1.2.模糊查询的下划线_处理
在Oralce的模糊查询中,不能直接将_当做下划线进行匹配。
因为_在模糊匹配中标识一个任何字符。
需要使用escape关键字进行转义。
例如,查询所有已AB_开头的表:
analyze table table_name compute statistics for table;
2.编写SQL
1.分析所有符合条件的表
select 'analyze table ' || t.TABLE_NAME || ' compute statistics for table;' from user_tables t where t.TABLE_NAME like 'AB\_%' escape '\' ;
2.进行ORACLE-ANALYZE
将上面SQL的执行结果放到命令窗口进行执行。
3.编写并执行查询语句
select t.TABLE_NAME,t.NUM_ROWS from tabs t where t.NUM_ROWS = 0 and t.TABLE_NAME like 'AB\_%' escape '\' and t.NUM_ROWS = 0 ;