以下の内容はhttps://ytyaru.hatenablog.com/entry/2021/07/18/000000より取得しました。


SQLite3構文 indexed by

 使用するインデックスを指定する。ほぼ使わない。

成果物

情報源

構文

テーブル名 indexed by インデックス名
テーブル名 not indexed

 delete, update, select文で使える。

indexed by

create table T(A text);
create index T_A on T(A);
insert into T values('A');
select * from T indexed by T_A where A='A';
A
explain query plan select * from T indexed by T_A where A='A';
QUERY PLAN
`--SEARCH TABLE T USING COVERING INDEX T_A (A=?)

 なぜか以下はError: no query solutionになる。

select * from T indexed by T_A;
Error: no query solution
explain query plan select * from T indexed by T_A;
Error: no query solution
explain query plan select * from T;
QUERY PLAN
`--SCAN TABLE T

not indexed

 インデックスを使わない。

select * from T not indexed where A='A';
A
explain query plan select * from T not indexed where A='A';
QUERY PLAN
`--SCAN TABLE T

所感

 indexed byはSQLite3が間違ったインデックスを使ったときにのみ使うもの。ふつうは使わない。not indexedはインデックスを使わない。そんなことをする意味がないため、やはりふつうは使わない。

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux

前回まで




以上の内容はhttps://ytyaru.hatenablog.com/entry/2021/07/18/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14