开发者社区 问答 正文

请教OceanBase佬铁们,show table status 表中无rows行数,逻辑大小?

请教OceanBase佬铁们,show table status 表中无rows行数,逻辑大小,information_schema.tables也无行数、大小,有啥其它方法查吗 Engine: oceanbase Version: 0 Row_format: DYNAMIC Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: NULL Index_length: NULL Data_free: NULL

展开
收起
真的很搞笑 2023-05-14 19:40:28 303 分享 版权
来自: OceanBase
1 条回答
写回答
取消 提交回答
  • 在OceanBase中,可以使用如下命令来查询表的行数:

    SELECT COUNT(*) FROM table_name;
    

    这个命令会直接遍历整个表,因此效率较低,适用于表比较小的情况。如果表比较大,可以考虑使用分页查询的方式来估计行数,例如:

    SELECT COUNT(*) FROM table_name LIMIT 100000,1;
    

    这个命令会跳过前面的100000行,然后返回第100001行的行号,因此可以估算出表的行数。这种方式虽然不是十分精确,但比直接遍历整个表要快得多。

    另外,OceanBase的系统表__all_table_history_stat中也包含了表的行数信息,可以通过以下SQL语句查询:

    SELECT table_id, row_count FROM __all_table_history_stat WHERE database_name='database_name' AND table_name='table_name';
    

    这个表中存储了表的历史统计信息,包括行数、大小、索引信息等。需要注意的是,由于这个表是历史统计信息,因此可能不是最新的,但可以作为一个参考。

    2023-05-15 07:54:25
    赞同 展开评论