SQLite:插入或更新并获取字段值会导致性能下降

时间:2015-11-27 18:32:47

标签: mysql sqlite

我在SQLite中创建表:

CREATE TABLE IF NOT EXISTS abc (abcID INTEGER, primeK TEXT NOT NULL PRIMARY KEY, b INTEGER)

我还建立了其他表:

CREATE TABLE IF NOT EXISTS ref0 (abcID INTEGER)
CREATE TABLE IF NOT EXISTS ref1 (abcID INTEGER)
.
.
.
CREATE TABLE IF NOT EXISTS refn (abcID INTEGER)

后来我想:

  
      
  1. 创建新表 refnn (abcID INTEGER)
  2.   
  3. 将记录数插入 abc
  4.   每个记录的
  5. -      
        

    3.1生成新的abcID      3.2如果已经存在给定 primeK 的记录,那么我想检索现有字段 abcID 并将其放入 refnn ;      3.3否则 - 将生成的 abcID 放入 refnn

      
  6.   

abc 由其所有值

编制索引

注意:表 refn 可能包含对来自 abc 的记录的多个唯一引用, abc 中的每条记录都可能包含在 refn中

我发现当我不检索现有的 abcID 值时,UPDATE的执行速度足够快。 当我添加SELECT语句来检索 abcID 时,性能会严重恶化。 如果没有显着的性能影响,我怎样才能实现这些目标?

0 个答案:

没有答案