②室でticksテーブルのB-tree(深さ2)を見ました。木の深さが浅いということは、 「主キーで探す」なら数回のページ読みで届くはずです。逆にインデックスの無い 列で探すと、該当する行を見つけるまで先頭から総当たりするしかありません。 実際のtrader.dbの本物のticksテーブルで、その差を実測してみましょう。
| クエリ | 実測時間 | 行数 | EXPLAIN QUERY PLAN |
|---|
「SEARCH ... USING INTEGER PRIMARY KEY」はB-treeを辿って直接たどり着いたことを示し、 「SCAN」は先頭から順に調べたことを示します(①室のhexビューアで実際のB-treeページも見比べられます)。
ここから先はあなた専用の使い捨てSQLiteファイルです(最大1MB・30分で自動削除)。
自由にSQLを実行して、実行のたびにファイルのページがどう変わるかをその場の
hexビューアで確認できます。ATTACHとVACUUM INTOは
安全のため使えません。
砂場ID: