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

| 我们处于必须在thoose 2数据库之间进行选择的情况。 我们目前在Firebird上,但有时会滞后,因为它堆积了太多的事务历史记录或某些东西,并且应应用备份-还原以使情况变得更好。 在我的具体情况下: 数据库中大多数表都填充有数字字段。 查询中大部分是内部联接。 我插入和选择的速率几乎相同。 (但将来我会选择更严格的选择) 有3个主表,这些表有几十亿个记录(保持每秒增长)。 但是我想看看对于像上面的thoose这样的正常负载和过载(例如选择和处理选定的字段),对事件触发和存储过程执行而言的整体表现而言,总体上最好的选择是我认为足够足够的知识来选择他们之间(欢迎更多意见),可能会帮助其他人采取决定。 我问 与Interbase一样吗? 迈入Interbase值得付出努力吗? 哪个整体表现更好? Interbase是否有像Firebird这样的历史问题,它使数据库不断增长并使其速度变慢? 附注:我将暂时不回答这个问题,以寻求解决方案。也许会有人根据正常的日常查询来比较数据库,并且问题和结果对我和其他人来说更有用。     
已邀请:
您描述的问题通常是由不良的事务管理或长时间运行的事务引起的。通常,您不需要备份和还原即可解决此问题。备份应该足够了(因为Firebird在备份期间会进行额外的清理和垃圾收集)。 Firebird(和Interbase)都使用多版本并发控制,这意味着更改将记录在新的记录版本中。仅当没有打开的事务与该事务相关时才清除旧记录版本。由回滚的事务创建的记录版本仅在扫描期间被清除。 错误的事务管理(具有长时间运行的事务,或使用提交保留而不是提交),意外断开连接等可能意味着事务仍处于打开状态,这意味着它们将需要由数据库清除(在Firebird中称为“清除”) )。这可能会降低数据库的速度,因为它需要读取同一记录的多个版本。 如前所述,在执行备份时执行扫描。因此,仅进行备份就足以消除大多数问题。 有关更多详细信息,请参阅gfix客房整理     
显而易见的恐怕是一个很乏味的答案,那就是您将不得不使用自己的工作负载对两者进行基准测试。您的应用程序工作负载可能会与其他所有基准测试或应用程序不同。     
您可以将测试数据库和测试用例发送给Firebird开发人员,以便他们提高速度 我开始认为数据库需要分区     

要回复问题请先登录注册