提灯小生  发表于 2021-8-25 12:34 显示全部楼层 楼主
问题一:目前有一个需求是统计gbase库中按照大小排前100的表名,现在库中大概有20000左右的表,通过information_schema.cluster_tables方式需要指定table_schema和table_name值才可以获取,所以没办法通过这种方法一个一个表进行查询,然后再比较,可否有哪种方式进行获取
问题二:在gbase中如何统计一个vc下面的不同库的使用大小
java2000  发表于 2021-8-30 15:46 显示全部楼层 沙发
无论如何,都需要每个表都查询一次,无论是根据行数,还是数据量。而这个操作将消耗大量的系统资源,比如几十万个,几百万甚至几千万个的上线项目,所以该功能最终还是只实现了查1个表。
而作为用户,自己应很清楚哪些表比较大,比如事实表,统计表等,然后根据这些表,自行循环统计下,库外排个序就行了,资源消耗完全可控。
提灯小生  发表于 2021-12-30 13:25 显示全部楼层 板凳
已经写了一个过程,进行表大小的查询,确实只能一个表一个表的查询,那如果一个vc里面有好几个schema,有什么方法能查出这个schema使用的空间大小吗
java2000  发表于 2021-12-30 14:21 显示全部楼层 地板
提灯小生 发表于 2021-12-30 13:25
已经写了一个过程,进行表大小的查询,确实只能一个表一个表的查询,那如果一个vc里面有好几个schema,有什 ...

最简单的是直接看gnode的数据目录,避免表非常多时循环查询浪费资源。
gnode/userdata/gbase/库名/

然后把所有节点累加一起,或者简单的单节点占用 * 节点数 。
提灯小生  发表于 2021-12-30 17:40 显示全部楼层 5#
条件不允许,我们登陆不了主机节点,只能通过客户端通过sql语句查询
java2000  发表于 2021-12-30 18:04 显示全部楼层 6#
提灯小生 发表于 2021-12-30 17:40
条件不允许,我们登陆不了主机节点,只能通过客户端通过sql语句查询

95有自定义表空间和配额,可以考虑每个vc的库,使用自己的表空间。
您需要登录后才可以回帖 登录 | 立即注册