EXPLAIN QUERY PLAN
参考:
EXPLAIN QUERY PLAN | SQLite [Official]
使い方
参考:
SQLite で実行計画を見てみよう その1 | SG ソフトウェア開発ブログ
SQLite で実行計画を見てみよう その2 | SG ソフトウェア開発ブログ
SQLite3 で MYSQL の EXPLAIN 的なコマンドを使う | M0DE
Squeezing Performance from SQLite: Indexes? Indexes! | Jason Feinstein
SEARCH TABLE / SCAN TABLE
SEARCH TABLE
:インデックスを使った探索SCAN TABLE
:列を読み込んで行う一致による探索
参考:
SEARCH TABLE vs SCAN TABLE – Stack Overflow
クエリの実行計画/オプティマイザー
参考:
Query Planning | SQLite [Official]
The SQLite Query Optimizer Overview | SQLite [Official]
ベンチマーク
参考:
SQLite3 のインデックスのベンチマーク | ぺけみさお
インデックスのパフォーマンス
参考:
SQLite でインデックスが使われているかどうか確認する | CodingFeline
LIKE 演算子
LIKE
演算子使用時に右辺がワイルドカードから始まる場合 (部分一致または後方一致の場合) は、インデックスは使われずフルスキャンが行われる。
LIKE 演算子使用時に大文字小文字を区別する設定を行えば、前方一致の場合はインデックスを使用することができる。(SQLite においてデフォルトでは大文字小文字は区別されない。)
LIKE 演算子使用時に大文字小文字を区別する。
PRAGMA case_sensitive_like = ON;
参考:
sqlite の LIKE 演算でインデックスを使う方法 | あの不定記
SQLite3 で datetime な TEXT をなるべく高速に探す | ポクポク
地名調査の記事から分かる SQL チューニングの基礎 – Qiita
SQLite の LIKE は、デフォルトだと大文字小文字が区別されない。| Enjoy * Study
SQLite3 と sjis と like 検索の大文字小文字無視検索 | tyoro.exe
case_sensitive_like | SQLite [Official]
SQLite always does a Full Table Scan when like used? – Stack Overflow
How to improve sqlite like statement performance – Stack Overflow
how to improve the performance of query with where and group by in sqlite – Stack Overflow
Case sensitive like select SQLite – Stack Overflow
EXPLAIN
参考:
SQLite バイトコードの実行時の挙動を追う | masu-mi’s blog
EXPLAIN | SQLite Query Language [Official]
The SQLite Bytecode Engine | SQLite [Official]
How can I analyse a Sqlite query execution? – Stack Overflow