回答

收藏

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

技术问答 技术问答 116 人阅读 | 0 人回复 | 2023-09-14

我们处于必须在thoose
  ]2 h  S  I7 Y4 [" g. T6 Q2数据库之间进行选择的情况。我们目前在Firebird上,但有时会滞后,因为它堆积了太多的事务历史记录或某些东西,并且应应用备份-还原以使情况变得更好。, }! o; E5 C4 B% `" F7 ?
在我的特定情况下:数据库大多数表都填充有数字字段。在查询中主要有内部联接。我插入和选择的速率几乎相同。(但将来我会选择更严格的方法)有3个主表,其中有数十亿条记录(保持每秒增长)。
" q- ?0 W- z4 k; S$ `3 _% g- Z但是我想看看在正常的负载(如上面的thoose)和重载(如选择并在选定的字段中工作),总体性能到事件触发和存储过程执行中,哪种总体效果最好,我认为这是足够好的,足以让他们知道他们之间(欢迎更多意见),可能会帮助其他人采取决定。/ E0 G) l" Y+ e6 v5 g
我问
% F/ o1 F: v7 t! H与Interbase一样吗?
& N7 v: Z1 h" K/ W3 M  s6 S迈入Interbase值得付出努力吗?
, A) F' l7 C/ Z2 S/ |9 c( Y哪个整体表现更好?2 \2 \! H1 \3 q4 q: T
Interbase是否有像Firebird这样的历史问题,它使数据库不断增长并使其速度变慢?
% K% i( d& d2 j2 @2 d0 h% d8 [) C

3 p6 |& B# X7 t# d" ?PS:我将暂时不回答这个问题,以寻求解决方案。 也许会有人根据正常的日常查询来比较数据库,而问题和结果对我和其他人来说更有用。) w+ j# Y0 O8 a& j4 U
               
' i  T  @% ^! {' j  T解决方案:4 L2 g* Y8 ~! a* P( Q
               
5 \6 v; K4 D- Z" U1 W- i& d" J, d
+ c! U/ [/ S" Q4 f2 V
! ^7 W: S% a  p( a                您描述的问题通常是由不良的事务管理或长时间运行的事务引起的。通常,您不需要备份和还原即可解决此问题。备份应该足够了(因为Firebird在备份期间会进行额外的清理和垃圾收集)。0 O; n+ d+ n. O( f+ y; \( z
Firebird(和Interbase)都使用多版本并发控制,这意味着更改将记录在新的记录版本中。仅当没有打开的事务与该事务有关时才清除旧记录版本。由回滚事务创建的记录版本仅在扫描期间被清除。/ t' h) S* ?# m# m1 k  j
错误的事务管理(具有长时间运行的事务,或使用提交保留而不是提交),意外断开连接等可能意味着事务仍处于打开状态,这意味着它们将需要由数据库清除(在Firebird中称为“清除”)2 [$ x  j2 W+ F/ u* m* h" A
)。这可能会降低数据库的速度,因为它需要读取同一记录的多个版本。
; S# A+ D. K: D9 z3 G. ^: T' o3 \如前所述,在执行备份时执行扫描。因此,仅进行备份就足以消除大多数问题。
6 N1 M( d. v) ?: d$ S: g有关更多详细信息,请参阅gfix客房整理
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则