Может ли запрос таблицы хранения Microsoft Azure фильтровать результаты по значению свойства
В настоящее время я изучаю таблицу хранения Azure. Я кое-что узнал от http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-table-storage-20/
Кажется, хранилище пары ключ / значение. Он имеет ключ раздела, ключ строки и включает до 252 свойств.
По приведенной выше ссылке он может фильтровать только результаты запроса по ключу строки. Можем ли мы запросить результат путем фильтрации одного из свойств.
Мой проект - перенести нашу текущую базу данных sql в таблицу хранения Azure.
Текущая база данных SQL имеет три столбца
Столбец А, Столбец В, Столбец С
В настоящее время наша функция должна поддерживать запросы как путем фильтрации столбца a, так и столбца b. При переходе на таблицу хранения Azure нам необходимо сохранить функцию
Я думаю, что мы можем установить только один из двух столбцов в качестве ключа строки, а остальные должны быть в свойствах таблицы Azure. Кроме того, я не думаю, что столбец b может быть ключом строки, поскольку он не может однозначно идентифицировать строку в нашей предыдущей таблице sql (мое понимание верно?)
Поэтому я могу запрашивать по столбцам a и b, если я задаю только столбец a в качестве ключа строки и столбец b в качестве свойства при переносе таблицы в хранилище Azure. Если нет, есть ли предложения по ее решению?
Спасибо
1 ответ
Да, вы можете фильтровать по любому атрибуту. Однако имейте в виду, что индексируются только PartitionKey и RowKey, поэтому любая операция запроса, которая не включает хотя бы PartitionKey, приведет к полному сканированию таблицы. Это станет проблемой, если ваша таблица содержит много объектов.