У нас есть система OLTP, и у нас есть сетка, содержащая около 20 столбцов, поступающих из нескольких таблиц. Сетка загружается на основе параметров поиска, включающих около 6 столбцов. Данные огромны: 100 миллионов строк поступают из фоновых таблиц.
Чтобы повысить производительность загрузки сетки, мы создали индексированное представление с одним уникальным кластеризованным индексом. В настоящее время мы хотим посмотреть, как мы можем улучшить производительность параметров поиска: a,b,c,d,e,f
Поиск может быть основан на любой комбинации: (а), (а, в), (г, д), (а, б, в) ... (а, б, в, г, д, е)
Мы думаем о том, чтобы выбрать один из следующих вариантов:
- Несколько составных индексов в индексированном представлении с определенными шаблонами доступа, такими как (a, b), (b, d), (a, b, c) и т. д.
- Единый некластеризованный индекс columnstore в индексированном представлении, который будет полезен для удовлетворения всех различных шаблонов доступа, таких как (a, b), (b, d), (a, b, c) и т. д. с включенным столбцом из 20 столбцов.
Не подскажете, какой подход лучше?
ОБНОВЛЕНИЕ. Только что прочитал, что некластеризованный индекс хранилища столбцов не поддерживает включение столбцов. Попробую дальше и обновлю ответ либо комментариями, если вопрос закрыт, либо ответив на него.
OPTION(RECOMPILE)
в своем запросе - person Charlieface   schedule 27.01.2021