加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – Firebird 2.5 VS Interbase 9 / XE – 表现更快?

发布时间:2020-12-12 07:29:34 所属栏目:MsSql教程 来源:网络整理
导读:我们处于这样一种情况,我们必须在2个数据库之间进行选择. 我们目前使用的是Firebird,但有时因为它堆积了太多的交易历史或其他东西而滞后,因此应该采用备份恢复以使事情变得更好. 在我的具体情况中: 数据库主要有填充数字字段的表. 查询主要有内部联接. 几乎
我们处于这样一种情况,我们必须在2个数据库之间进行选择.
我们目前使用的是Firebird,但有时因为它堆积了太多的交易历史或其他东西而滞后,因此应该采用备份恢复以使事情变得更好.

在我的具体情况中:
数据库主要有填充数字字段的表.
查询主要有内部联接.
几乎与我插入和选择的速率相同.
(但未来我正在寻找更严厉的选择)
有3个主表有几百亿的记录(每秒继续增长).

但我想看看哪个是最好的整体进入正常负载,如上面的那些,以及重载 – 比如选择和处理选定的字段,整体表现为事件触发和存储过程执行,我认为这是足够好的知识选择他们之间(更多的意见是受欢迎的),可能会帮助其他人民做出决定.

我问

>与Interbase相同吗?
>是否值得努力跳向Interbase?
>整体表现更好?
> Interbase是否有像Firebird这样的历史问题,它会不断增长数据库并减慢速度?

P.S.:我将暂时留下这个问题而不检查解决方案.也许会有人在正常的,每天的查询基础上真正处理数据库,问题和结果对我来说会更有用,其他人也会对这种情况感到不满.

解决方法

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

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

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

如上所述,在执行备份时执行扫描.因此,只需进行备份就足以消除大部分问题.

有关更多详细信息,请查看gfix housekeeping

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读