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

Why is this sqlite query much slower when I index the columns? – Database Administrators Stack Exchange

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

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です