2012-08-24 58 views
0

我試圖從一個條件的2個表中選擇數據。2 SQL語句只需要轉換成一條語句

我的發言:

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 

這是沒有必要的延遲,

那麼我怎麼能得到更多的速度stateme數據nt?

我也試過:

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

但它也慢。

回答

0

您是否研究過創建「準備」或「編譯」語句?當你有像你一樣的條件時,這可以特別有效。

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

多少行的結果集?

+0

哦,我明白了,問題是關於我的病情的錯誤日期,我在「現在」日期添加了一行,並在現在1秒之前搜索記錄, – Yahia