【发布时间】:2013-05-18 10:06:01
【问题描述】:
Firebird 2.1.3 数据库似乎从未完成的事务中创建了大量垃圾,这导致数据库运行非常缓慢,直到通过数据库扫描或服务器重新启动删除其垃圾。我的数据库大小为 30gb+。 你知道是什么原因造成的吗? 是否有任何新的存储过程会产生过多的垃圾? 请帮帮我。?
【问题讨论】:
标签: delphi delphi-7 firebird2.1
Firebird 2.1.3 数据库似乎从未完成的事务中创建了大量垃圾,这导致数据库运行非常缓慢,直到通过数据库扫描或服务器重新启动删除其垃圾。我的数据库大小为 30gb+。 你知道是什么原因造成的吗? 是否有任何新的存储过程会产生过多的垃圾? 请帮帮我。?
【问题讨论】:
标签: delphi delphi-7 firebird2.1
Firebird 数据库在一段时间后变慢通常是客户端事务管理不良的标志。这可以通过检查头页中的各种事务计数器来轻松检查,可以通过运行来查询:
gstat -h <yourdatabase>
当您的数据库变慢时。例如:几乎所有访问库在以自动提交模式运行事务时(基本上是当您不关心在客户端应用程序中启动显式事务时)都使用 COMMIT RETAINING,这基本上会阻止 OIT/OAT 向前移动。
除了 gstat 命令行工具,在 Firebird 2.1 中,您还拥有监控表,尤其是 MON$TRANSACTIONS,以识别长时间运行的事务。
【讨论】: