如何查找每个 Hsql 数据库表的磁盘使用情况使用 SQL、DataGrip 或其他解决方案?

问题描述

我有 2 个 hsql 数据库,它们应该保存相同的信息。然而,一个是占用了 4 倍的磁盘空间(1 GB 对大约 250 MB)。数据库包含大量表,我想要一种方法来了解每个表的磁盘使用情况(因此我可能会找到 pb 的来源)。 我正在使用 Datagrip,但我找不到使用 Datagrip 或普通 sql获取此类信息的方法。 任何帮助将不胜感激。

解决方法

从 2.5.1 版开始,HyperSQL 支持名为 table spaces 的功能。启用此功能后,每个拥有一定数量磁盘空间的表都会分配到自己的空间。 INFORMATION_SCHEMA 视图显示分配给不同表的空间。

详细信息记录在指南中:http://hsqldb.org/doc/2.0/guide/management-chapt.html#tspace_usage