Сравнение производительности поиска с помощью строки или Int64 для типа DateTime с таблицей Azure

Мне нужно выполнить поиск по DateTimeOffset типу местного времени в таблице Azure.

Мой вопрос заключается в том, что если местное время типа DateTimeOffset сохраняется как RowKey, какой тип быстрее индексируется и ищет по RowKey, String или Int64?

По Int64: DateTimeOffset должен преобразовать в целочисленный тип.

PartitionKey может быть любым, например. свидание,

См. Сохранение местного времени в Azure Table


person Pingpong    schedule 09.07.2020    source источник


Ответы (1)


какой тип быстрее индексирует и ищет по RowKey, String или Int64?

Производительность запросов хранилища таблиц Azure не зависит от типа ключа строки.

Вы можете использовать следующие способы оптимизации запросов для службы таблиц:

1. Храните несколько копий каждого объекта с разными значениями RowKey (в одном разделе), чтобы обеспечить быстрый и эффективный поиск и альтернативный порядок сортировки с использованием разных значений RowKey.

2. Храните несколько копий каждого объекта с разными значениями RowKey в отдельных разделах или в отдельных таблицах, чтобы обеспечить быстрый и эффективный поиск и альтернативный порядок сортировки с использованием разных значений RowKey.

3.Поддерживайте объекты индекса, чтобы обеспечить эффективный поиск, возвращающий списки объектов.

Дополнительные сведения см. в этом статья.

person Joey Cai    schedule 10.07.2020
comment
Вы говорите, что это одинаковая скорость для типов String и Int64? - person Pingpong; 10.07.2020
comment
Пожалуйста, можно поподробнее по пункту 3? Я уже натыкался на ссылку. - person Pingpong; 10.07.2020
comment
Предлагаем вам использовать string в качестве типа строки. - person Joey Cai; 10.07.2020
comment
Можете ли вы объяснить, почему string? - person Pingpong; 10.07.2020
comment
В статье, которую я предоставил, когда RowKey является идентификатором сотрудника, он по-прежнему использует строку в качестве типа. - person Joey Cai; 13.07.2020
comment
У вас есть пример, который показывает сохранение DateTimeOffset или DateTime как целочисленный или строковый тип? - person Pingpong; 13.07.2020
comment
По Int64: DateTimeOffset должен преобразовать в целочисленный тип. - person Pingpong; 13.07.2020
comment
Вы можете повторно открыть вопрос, чтобы различать два вопроса. - person Joey Cai; 14.07.2020