SQLiteクエリを実行すると、返されるデータセットのサイズによってクエリの時間が影響を受けますか?この質問では、結果のデータに実際にアクセスしていないと仮定して、クエリ自体に時間がかかるかどうかを知りたいだけです。また、単にすべての行を選択し、WHERE句またはORDER BY句がないと仮定します。大きな結果セットを返すSQLiteクエリに時間がかかりますか?
たとえば、テーブルAとテーブルBの2つがある場合、テーブルAには100万行、テーブルBには10行があり、両方のテーブルには同じ数とタイプの列があるとします。テーブルAのすべての行を選択するのは、テーブルBのすべての行を選択するよりも時間がかかりますか?
これは私の質問How does a cursor refer to deleted rows?のフォローアップです。私は、クエリSQLiteの中にデータのコピーを作成すると、大規模なデータセットを返すクエリは、クエリの結果データをコピーするだけの最適化がない限り、dbのデータが変更されている場合は、クエリはまだ生きていますか?
私は私の質問を明確にした、私は1つのテーブルからすべての行を選択する状況にのみ興味がある、WHERE、ORDER BY、LIMIT、またはJOIN句。 – satur9nine
答えは同じです。テーブルAでより多くの行を実行するには時間がかかります。インデックスは、そのステップを離れるかもしれません。すべてを選択すると、IO(とオーバーヘッド)が許す限り早く行が出てくることが期待されます。同じレートでより多くのデータを取得するには時間がかかります。 – XTL