Запрос к ключу раздела Azure Table Storage - PullRequest
0 голосов
/ 05 апреля 2011

Мне известно, что записи в хранилище таблиц Azure организованы PartitionKey и проиндексированы RowKey.Мое приложение требует, чтобы я запрашивал записи в табличном хранилище на основе диапазона дат TimeStamp.У меня есть несколько тысяч записей в табличном хранилище, и, естественно, производительность очень низкая.Причина в том, что TimeStamp не индексируется.Как я понимаю, PartitionKey по сути является преобразованием TimeStamp в Ticks.Поправьте меня, если я ошибаюсь.

Если это правда, как я могу запросить хранение таблицы в PartitionKey вместо поля TimeStamp и улучшить производительность.

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

Запись с отметкой времени действительно предназначена для внутреннего использования лазурью, вы не хотите использовать ее для своей бизнес-логики.

ЕСЛИ у вас в данный момент есть произвольный первичный ключ, то вы можете сделать первичный ключ датой-временем вашей собственной обработки (используя ключ строки для обеспечения уникальности). Если его необходимо обновить при запуске обновления в соответствии с фактической отметкой времени, вы можете выполнить обновление, используя шаблон удаления и повторной вставки.

Если текущие первичные ключи и ключи строк важны, создайте таблицу поиска. То есть таблица, которая имеет временную метку в качестве первичного ключа и первичный ключ вашей другой таблицы в качестве ключа строки. Затем вы можете использовать эту таблицу, чтобы найти нужные записи из основной таблицы.

0 голосов
/ 07 апреля 2011

Вы определяете свой собственный ключ раздела, чтобы он мог быть тем, что вы хотите.

...