Самый быстрый способ запроса последних предметов в таблице Azure?

У меня есть таблица Azure, где клиенты размещают сообщения, в одной таблице могут быть миллионы сообщений. Я хочу найти самый быстрый способ получения сообщений, опубликованных в течение последних 10 минут (именно так часто я обновляю веб-страницу). Поскольку индексируется только ключ раздела, я играл с идеей использования даты и времени, сообщение было опубликовано как ключ раздела, например, последовательность в формате даты ISO8601, как "2009-06-15T13:45: 30.0900000 "

Пример псевдокода:

var message = "Hello word!";
var messagePartitionKey = DateTime.Now.ToString("o");
var messageEntity = new MessageEntity(messagePartitionKey, message);
dataSource.Insert(messageEntity);

, а затем запрос на сообщения, отправленные в течение последних 10 минут (еще раз не проверенный псевдокод):

// Get the date and time 10 minutes ago
var tenMinutesAgo = DateTime.Now.Subtract(new TimeSpan(0, 10, 0)).ToString("o");

// Query for the latest messages
var latestMessages = (from t in
   context.Messages
   where t.PartitionKey.CompareTo(tenMinutesAgo) <= 0
   select t
   )

Но будет ли это хорошо принято индексом? Или это вызовет полное сканирование таблицы? У кого-нибудь есть идея сделать это? Я знаю, что на каждом предмете таблицы есть метка времени, но она не индексирована, поэтому для меня она будет слишком медленной.

-121--1046787- Работает ли блокировка строк «для обновления» также для объединенных таблиц? Я выполняю 2 запроса в транзакции SELECT (содержащей предложение JOIN) и UPDATE. Необходимо, чтобы данные в выбранных строках не изменялись до завершения обновления, поэтому я использую предложение FOR UPDATE. Мой...

Я делаю 2 запроса в транзакции SELECT (содержащей предложение JOIN) и UPDATE. Необходимо, чтобы данные в выбранных строках не изменялись до завершения обновления, поэтому я использую предложение FOR UPDATE. Мой вопрос: работает ли «для обновления» только для части данных, выбранных из таблицы, указанной в предложении FROM, или также для данных из объединенных таблиц? Моя СУБД - MySql.

9
задан Juan Mellado 4 May 2012 в 13:50
поделиться