2

У меня есть таблица Azure, называемая пользователями, которые относятся к серверным полям, связанным с пользователем, у меня есть PartitionKey как UserId и RowKey as CompanyId, и я хочу запросить таблицу через поле электронной почты, которое не является PartionKey или RowKey , Можно ли запросить таблицу как это?Querying azure table без ключей раздела и rowkey

Если да, то это хорошо, чтобы запросить без PartitionKey и RowKey

ответ

5

Вы можете запросить без использования PartitionKey или RowKey и обслуживание столиков не будет бросать какие-либо ошибки, однако, пожалуйста, имейте в виду, что это будет делать полное сканирование таблицы начиная с 1-й комбинации PartitionKey/RowKey до тех пор, пока не будут найдены объекты, соответствующие времени.

Возможно, это не проблема, если ваш стол небольшой. Однако это будет проблемой, если ваш стол станет большим. Вероятно, вы не получите никаких данных, а только токен продолжения, и вам нужно будет снова запросить таблицу, используя этот токен продолжения.

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

Не уверен, что вы уже это прочитали, но я настоятельно рекомендую прочитать Azure Table Storage Design Guide: https://azure.microsoft.com/en-in/documentation/articles/storage-table-design-guide/.

+0

Я пытался сделать это, он возвращает данные, но его слишком медленно, теперь я думал, чтобы сохранить поле электронной почты в 'RegisteredUser Table'. –

+0

'он возвращает данные, но слишком медленно. - Это то, что я имел в виду, выполняя сканирование таблицы. Если вы отслеживаете сетевой трафик с помощью инструмента, такого как Fiddler, вы заметите, что в Azure Table Storage Service много вызовов. –

+0

Спасибо, сэр, теперь я окончательно об этом проделываю через таблицу 'RegisteredUserEmail'. –

0

Performance by query

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

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

Примечание: Изображение взято этим article

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

  • Нет связанных вопросов^_^