0
被應用於以下的SQLite查詢是快速(與源碼3.7.5):極限上內選擇似乎沒有由SQLite的
sqlite> select distinct DOB from (select * from MyTable limit 3) limit 20;
1958-11-05
1959-01-01
1963-06-07
而下面一個很慢(limit 20
除去):
sqlite> select distinct DOB from (select * from MyTable limit 3);
1933-01-03
1934-12-24
1935-01-07
我覺得這個讓人吃驚,因爲我期望內部limit
能夠快速提取只有3行,這樣外部limit 20
真的沒關係;但是,這兩個查詢的時間是完全不同的。爲什麼第一個查詢要快得多?
首先要做的是將EXPLAIN添加到查詢中,並檢查它在做什麼 – RichardTheKiwi 2011-03-06 23:02:52
@Richard:這確實非常有用;然而,這需要了解SQLite的虛擬機操作碼...... :) – EOL 2011-03-07 08:20:23