Francisco Alvarado Asked: 2020-12-02 11:15:58 +0800 CST 2020-12-02 11:15:58 +0800 CST 2020-12-02 11:15:58 +0800 CST 如何计算模式中所有表的行数? 772 我需要在oracle中导出相同架构的一些表的记录,但是由于我要执行此过程的机器的限制,我需要知道所述架构的表的行数来决定如果我这样做,或者我使用另一种替代方法在一个环境和另一个环境之间复制记录。 如何快速有效地确定架构中所有表的记录数? sql 1 Answers Voted Best Answer Francisco Alvarado 2020-12-02T11:15:58+08:002020-12-02T11:15:58+08:00 实现它的最简单方法,即无需过程或复杂的东西,是执行以下查询: SELECT owner, table_name, num_rows, sample_size, last_analyzed FROM all_tables WHERE owner = 'nombre_de_tu_esquema'; 该列num_rows包含每个表中的行数或记录数。 更新: 正如@jpertejo 强调的那样: 请记住,NUM_ROWS视图 的列ALL_TABLES从表的统计信息中获取信息。如果没有更新统计信息,可能是返回的行数NUM_ROWS与真实的不对应。要确切知道实际的行数,您必须执行 COUNT(*). 的查询NUM_ROWS比 的查询快 COUNT(*),但在某些情况下可能无法给出正确的数据。 因此,查询包括last_analyzed用于报告对每个表进行最近统计分析的日期的列。
实现它的最简单方法,即无需过程或复杂的东西,是执行以下查询:
该列
num_rows
包含每个表中的行数或记录数。更新:
正如@jpertejo 强调的那样:
因此,查询包括
last_analyzed
用于报告对每个表进行最近统计分析的日期的列。