2012-05-01 4 views
13

У меня есть лазурный стол с примерно 5 миллионами + строк, каждый раздел размером около 100 тысяч строк. RowKey - это сортируемая метка времени. Мне нужно получить последнюю запись, которая была вставлена ​​в таблицу.Azure Table Storage получить последнюю запись

Поскольку Linq Last, Max, OrderBy и т. Д. Не поддерживаются, как эффективно получить самую последнюю таблицу записей?

ответ

12

Нет эффективного способа сделать это. Но если это вариант, подумайте о том, чтобы перевернуть свой ключ строки так, чтобы новейшие записи находились в верхней части (обратный хронологический порядок). Получение записей n легко и эффективно.

+2

И хорошая ссылка для достижения этого - одно из ваших старых сообщений в блоге: http://blog.smarx.com/posts/using-numbers-as-keys-in-windows-azure –

+0

Любая идея, если лазурная команда добавит поддержку для большего количества запросов Linq для хранения таблиц? Или технические ограничения слишком сложны ... –

+1

Я бы ожидал, что со временем будет поддерживаться большее количество запросов, но, вероятно, не это. С моим пониманием того, как хранятся данные, нет хорошего способа добраться до конца списка или иначе запросить в обратном порядке. (Подумайте, как список, связанный по отдельности.) – smarx

1

Вы можете запросить TimeStamp меньше MaxDate и ограничить результат для 1. Не тестировали его, но он должен работать. Зависит от того, как отпечатана ваша штамп времени.

+0

Просто протестировал его. Не работает – Szer

Смежные вопросы