当前位置: 首页 > 面试题库 >

Firebird 2.5 VS Interbase 9 / XE-哪个执行速度更快?

徐佐
2023-03-14
问题内容

我们处于必须在thoose
2数据库之间进行选择的情况。我们目前在Firebird上,但有时会滞后,因为它堆积了太多的事务历史记录或某些东西,并且应应用备份-还原以使情况变得更好。

在我的特定情况下:数据库大多数表都填充有数字字段。在查询中主要有内部联接。我插入和选择的速率几乎相同。(但将来我会选择更严格的方法)有3个主表,其中有数十亿条记录(保持每秒增长)。

但是我想看看在正常的负载(如上面的thoose)和重载(如选择并在选定的字段中工作),总体性能到事件触发和存储过程执行中,哪种总体效果最好,我认为这是足够好的,足以让他们知道他们之间(欢迎更多意见),可能会帮助其他人采取决定。

我问

  • 与Interbase一样吗?
  • 迈入Interbase值得付出努力吗?
  • 哪个整体表现更好?
  • Interbase是否有像Firebird这样的历史问题,它使数据库不断增长并使其速度变慢?

PS:我将暂时不回答这个问题,以寻求解决方案。 也许会有人根据正常的日常查询来比较数据库,而问题和结果对我和其他人来说更有用。


问题答案:

您描述的问题通常是由不良的事务管理或长时间运行的事务引起的。通常,您不需要备份和还原即可解决此问题。备份应该足够了(因为Firebird在备份期间会进行额外的清理和垃圾收集)。

Firebird(和Interbase)都使用多版本并发控制,这意味着更改将记录在新的记录版本中。仅当没有打开的事务与该事务有关时才清除旧记录版本。由回滚事务创建的记录版本仅在扫描期间被清除。

错误的事务管理(具有长时间运行的事务,或使用提交保留而不是提交),意外断开连接等可能意味着事务仍处于打开状态,这意味着它们将需要由数据库清除(在Firebird中称为“清除”)
)。这可能会降低数据库的速度,因为它需要读取同一记录的多个版本。

如前所述,在执行备份时执行扫描。因此,仅进行备份就足以消除大多数问题。

有关更多详细信息,请参阅gfix客房整理



 类似资料:
  • 我在程序(计时器类)中使用scheduleAtFixedRate方法。它每秒钟运行一次,但有时这种方法会变得非常快(每秒执行3-4次)。 然而,我在网上做了一些研究,发现了这个: 复制自android开发者页面: 对于固定速率执行,任务每次连续运行的开始时间都是计划的,而不考虑上一次运行的时间。如果延迟阻止计时器按时启动任务,则这可能会导致一系列串接运行(一个接一个地启动)。 我需要固定的计时器。

  • 问题内容: 为了找到两个数据库之间的所有更改,我将pk上的表联接在一起,并使用date_modified字段选择最新记录。由于表具有相同的架构,因此将使用提高的性能。我想用重写它,但是我不确定在每种情况下for的实现是否都可以执行。希望有人对何时使用有更多的技术说明。 问题答案: 任何人都无法告诉您,它永远或永远不会超过同等产品。无论您如何编写意图,优化器都会选择合适的执行计划。 就是说,这是我的

  • 问题内容: 我一直在使用HTMLUnit。非常适合我的要求。但这似乎非常缓慢。例如:我已经使用HTMLUnit自动化了以下场景 代码: 它运作良好100%。但是需要3分41秒 我想执行缓慢的原因是要验证页面上的每个元素。 我的问题是如何减少HTMLUnit的执行时间?有什么方法可以禁用网页上的验证。 提前致谢! 问题答案: 对于当前的htmlUnit 2.13,设置选项与maxmax提供的设置略有

  • 我正在尝试测试Aparapi的性能。我看到过一些博客,其中的结果显示,Aparapi确实在做数据并行操作的同时提高了性能。 但我在测试中没有看到这一点。这里是我所做的,我写了两个程序,一个使用Aparapi,另一个使用普通循环。 方案1:在Aparapi 程序2:使用循环 程序1需要大约330ms,而程序2只需要大约55ms。我是不是做错什么了?我在Aparpai程序中打印出了执行模式,它打印出的

  • 问题内容: 我已经开发了一个用户批量上传模块。有两种情况,当数据库有零条记录时,我批量上传了20000条记录。大约需要5个小时。但是,当数据库已经有大约30 000条记录时,上传速度将非常缓慢。上载2万条记录大约需要11个小时。我只是通过fgetcsv方法读取CSV文件。 下面是运行的查询。(我正在使用Yii框架) 如果存在,请更新用户: 如果用户不存在,请插入新记录。 表引擎类型为MYISAM。

  • 以下步骤将演示如何执行速度测试: 使用第10章EAP作为指南安装和配置JRadius Simulator。 通过增加请求线程和每线程请求的值来测试FreeRADIUS的响应时间,观察FreeRADIUS达到饱和点的值。 测试在FreeRADIUS服务器上完成典型事务的持续时间。 例如,如果您是Eduroam的一部分,您可以记录您支持的各种EAP方法的持续时间。 您还可以测试计费请求的速度。 刚刚发