Следующий запрос SQLite быстрый (с sqlite 3.7.5):
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
IЭто удивительно, потому что я ожидаю, что внутренний limit
быстро извлечет только 3 строки, так что внешний limit 20
действительно не имеет значения;однако сроки обоих запросов совершенно разные.Почему первый запрос намного быстрее?