【问题标题】:Firebird overgrow database file火鸟长满数据库文件
【发布时间】:2020-08-05 00:14:55
【问题描述】:

有没有办法检查我的数据库为何增长得如此之快?我在不到一周的时间内增长了 30GB,现在我的所有流程和程序都非常缓慢,交易量与往常一样。

或者有没有办法检查表格的大小?

【问题讨论】:

标签: firebird firebird2.5


【解决方案1】:

如果您怀疑某个表可能正在增长,您可以从命令行运行以下命令。

gstat <DATABASE NAME|ALIAS> -t <TABLE_NAME>

可以在此处找到有关 gstat 的其他信息。 https://firebirdsql.org/file/documentation/html/en/firebirddocs/gstat/firebird-gstat.html

您可以让此命令按计划运行并保存结果,以便您了解一段时间内发生的情况。不过,根据表的大小,此命令可能需要一段时间才能运行。

【讨论】:

  • 这不包括诸如 blob 大小之类的内容。
  • @MarkRotteveel 谢谢,我不知道。在我的情况下,我们没有任何具有 blob 数据类型字段的 Master/Critical 表。
  • @EdMendez 有时即使没有字段也可以创建 blob,例如 Firebird 2.1 中的 LIST aggr-funciton。现在,这些临时 blob 预计将在交易关闭时被删除,但如果您不这样做(带有损坏的 tx 管理的意大利面条代码,或曾经流行的“永恒只读事务”模式) - 那么这些临时 blob 永远不会被删除,直到应用断开连接(最终关闭 TX),增长速度非常快。
猜你喜欢
  • 2012-07-12
  • 2010-10-16
  • 2011-04-15
  • 2016-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-22
  • 1970-01-01
相关资源
最近更新 更多