小编Cor*_*ore的帖子

与 SQLite 相比,Firebird COUNT 非常慢

过去几个月我一直在使用 Firebird,今天一位客户抱怨性能问题。

我检查了客户的数据库,他们在一张表中有 167,77,216 行。因此,我将该表克隆到另一个空数据库中,并加载虚拟记录并使用简单的查询进行测试

select count(journal_id) from acc_journal
Run Code Online (Sandbox Code Playgroud)

花了14.28秒。

之后我创建了一个 SQLite 数据库并加载了这些数据,花了 2.216 秒。

这是 Firebid 的本质还是我错过了什么?

火鸟表结构:

CREATE TABLE ACC_JOURNAL (
  JOURNAL_ID       INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL,
  ACCOUNT_HEAD_ID  INTEGER,
  REF_ID           INTEGER,
  REF_TYPE         VARCHAR(20),
  DESCRIPTION      VARCHAR(512),
  DEBIT            DECIMAL(18,4),
  DEBIT_EX         DECIMAL(18,4),
  CREDIT           DECIMAL(18,4),
  CREDIT_EX        DECIMAL(18,4),
  CURRENCY_ID      INTEGER,
  STATUS           VARCHAR(20),
  EX_RATE          DECIMAL(18,4),
  ENTRY_DATE       VARCHAR(20),
  ENTRY_TIME       VARCHAR(20),
  BRANCH_CODE      VARCHAR(20),
  LAST_SYNCED      VARCHAR(20),
  LAST_UPDATED     DECIMAL(18,4),
  ENTRY_DATE2      VARCHAR(20),
  /* Keys */
  PRIMARY KEY (JOURNAL_ID)
);
Run Code Online (Sandbox Code Playgroud)

SQLite表结构:

CREATE TABLE ACC_JOURNAL (
    ACCOUNT_HEAD_ID INTEGER, …
Run Code Online (Sandbox Code Playgroud)

firebird

4
推荐指数
1
解决办法
985
查看次数

标签 统计

firebird ×1