0

1 つの条件で 2 つのテーブルからデータを選択しようとしています。

私の声明:

SELECT * from A where date >= ?  AND  date <= ?   UNION ALL SELECT * from B where date >= ?  AND  date <= ? 

このステートメントを使用すると、アプリケーションがデータを正しく表示するために 2 秒の遅延が必要になります。

しかし、私が使用するとき:

SELECT * from A    UNION ALL SELECT * from B  

遅延は必要ありません。

では、より高速なステートメントでデータを取得するにはどうすればよいですか?

私も試しました:

SELECT * from(SELECT * from A   UNION ALL SELECT * from B) where date >= ?  AND  date <= ? "

しかし、それも遅いです。

4

1 に答える 1

0

「準備済み」または「コンパイル済み」ステートメントの作成を検討しましたか? これは、あなたのような条件がある場合に特に効果的です。

http://www.sqlite.org/c3ref/stmt.html

結果セットの行数は?

于 2012-08-24T04:43:06.330 に答える