2013-02-23 3 views
0

Я хочу получить последние 5 записей в моем столе, пока я пробовал это, но это не получилось очень хорошо. Итак, какой самый чистый и эффективный способ получить последние 5 записей в таблице?android получить последние 5 записей

"select * from (select * from People order by Date DESC limit 5) order by Date ASC;" 
+0

'(выберите * от заказа людей по дате предела DESC 5)' это не таблица правильно? –

+0

нет, я ищу метод с использованием id вместо Date ... но не уверен, какой из них эффективен, если вы считаете большую таблицу более 10000 записей –

ответ

0

Ваш запрос работает нормально.

Чтобы сделать его эффективным, убедитесь, что на столбце Date есть указатель; то SQLite будет просто читать последние пять записей из индекса и таблицы и не нужно сканировать всю таблицу.

Если эта таблица имеет столбец идентификатора автоинкремента, а если «последний» означает порядок вставки, то вы можете использовать этот идентификатор для сортировки; это будет столь же эффективным, как ваш первоначальным запрос с индексом на Date:

SELECT * FROM (SELECT * FROM People 
       ORDER BY _id DESC 
       LIMIT 5) 
ORDER BY Date ASC 
Смежные вопросы