2

Firebird 2.1.3 数据库似乎从未完成的事务中创建了大量垃圾,这导致数据库运行非常缓慢,直到通过数据库扫描或服务器重新启动删除其垃圾。我的数据库大小为 30gb+。你知道是什么原因造成的吗?是否有任何新的存储过程会产生过多的垃圾?请帮我。?

4

1 回答 1

3

Firebird 数据库在一段时间后变慢通常是客户端事务管理不良的标志。这可以通过检查标题页面中的各种事务计数器来轻松检查,可以通过运行来查询:

gstat -h <yourdatabase>

当您的数据库变慢时。例如:几乎所有访问库在以自动提交模式运行事务时(基本上当您不关心在客户端应用程序中启动显式事务时)都使用 COMMIT RETAINING,这基本上会阻止 OIT/OAT 向前移动。

除了 gstat 命令行工具,Firebird 2.1 还拥有监控表,特别是 MON$TRANSACTIONS,以识别长时间运行的事务。

于 2013-05-23T07:43:07.810 回答