如何检查h2数据库的大小?
How to check the size of a h2 database?
我有一个问题,我无法在 Internet 上找到答案。我有很多数据存储在 h2 数据库中。我在我的 Web 服务中使用 h2 数据库,用 Java Hibernate 和 Angular.
编写
我有大约 30000 行数据,但我不知道如何开始获取它的大小。我查到的h2文件也没有相关信息。
我一般有6张表,3万行数据。
那么,如何计算我的 h2 数据库的大小?
如果需要数据库文件的大小可以执行以下查询:
SELECT `VALUE` FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME = 'info.FILE_SIZE';
如果您的数据库是旧版 PageStore 格式,您需要执行另一个查询:
SELECT
(SELECT CAST(`VALUE` AS BIGINT) FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME = 'info.PAGE_COUNT')
*
(SELECT CAST(`VALUE` AS INTEGER) FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME = 'info.PAGE_SIZE')
您还可以使用 DISK_SPACE_USED
函数确定某些 table 的大小(不包括其索引):
CALL DISK_SPACE_USED('TABLE_NAME');
table 的名称应指定为字符串。
旧版PageStore引擎支持该函数,默认MVStore引擎也支持该函数,但仅从1.4.198版本开始,在旧的1.4.*版本中为returns0.返回值也不包括 LOB 占用的大小。
使用默认的 MVStore 引擎,您还可以获得 space 数据库文件中当前使用的页面占用:
SELECT
(SELECT CAST(`VALUE` AS BIGINT) FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME = 'info.PAGE_COUNT_LIVE')
*
(SELECT CAST(`VALUE` AS INTEGER) FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME = 'info.PAGE_SIZE')
我有一个问题,我无法在 Internet 上找到答案。我有很多数据存储在 h2 数据库中。我在我的 Web 服务中使用 h2 数据库,用 Java Hibernate 和 Angular.
编写我有大约 30000 行数据,但我不知道如何开始获取它的大小。我查到的h2文件也没有相关信息。
我一般有6张表,3万行数据。
那么,如何计算我的 h2 数据库的大小?
如果需要数据库文件的大小可以执行以下查询:
SELECT `VALUE` FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME = 'info.FILE_SIZE';
如果您的数据库是旧版 PageStore 格式,您需要执行另一个查询:
SELECT
(SELECT CAST(`VALUE` AS BIGINT) FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME = 'info.PAGE_COUNT')
*
(SELECT CAST(`VALUE` AS INTEGER) FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME = 'info.PAGE_SIZE')
您还可以使用 DISK_SPACE_USED
函数确定某些 table 的大小(不包括其索引):
CALL DISK_SPACE_USED('TABLE_NAME');
table 的名称应指定为字符串。
旧版PageStore引擎支持该函数,默认MVStore引擎也支持该函数,但仅从1.4.198版本开始,在旧的1.4.*版本中为returns0.返回值也不包括 LOB 占用的大小。
使用默认的 MVStore 引擎,您还可以获得 space 数据库文件中当前使用的页面占用:
SELECT
(SELECT CAST(`VALUE` AS BIGINT) FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME = 'info.PAGE_COUNT_LIVE')
*
(SELECT CAST(`VALUE` AS INTEGER) FROM INFORMATION_SCHEMA.SETTINGS WHERE NAME = 'info.PAGE_SIZE')