SQLite:使用索引是否应该导致大约100%的CPU?

时间:2019-06-05 07:44:40

标签: sqlite search indexing io pragma

在非常长的表(约100亿行)中搜索行时, CPU使用率仅为3%左右,进程处于D状态仅与INSERT一起看到,而不与SELECT一起看到。

我想知道这是否是由于某些错误配置导致的,我可以达到更好的用法,从而加快SELECT的速度。

SELECT * FROM my_table WHERE key IN (SELECT key FROM temp);

很显然,各个列key都已建立索引。

编辑:我忘了指出我在寻找许多行和整数id列(不是唯一的)。例如,查找10,000个ID,每个ID平均发生100次。

编辑:以下是一些PRAGMA语句及其结果,如果有用的话:

  • PRAGMA journal_size_limit; -1
  • PRAGMA journal_mode; delete
  • PRAGMA cache_size; -2000
  • PRAGMA cache_spill; 483
  • PRAGMA max_page_count; 1073741823
  • PRAGMA page_count; 340456897
  • PRAGMA user_version; 0

0 个答案:

没有答案