Я налаштування продуктивності сховища даних за допомогою індексів. Я досить новачок у SQL Server 2014.Microsoft описує наступне:
"Ми розглядаємо кластерний індекс стовпців стовпців як стандарт для зберігання великих таблиць фактів зберігання даних, і очікуємо, що він буде використовуватися в більшості сценаріїв зберігання даних. Оскільки кластерний індекс зберігання стовпців є оновленим, ваше навантаження може виконати велику кількість вставок, оновлень, та видаліть операції. " http://msdn.microsoft.com/en-us/library/gg492088.aspx
Однак якщо ви прочитаєте далі в документації, ви знайдете обмеження та обмеження:
"Неможливо мати унікальні обмеження, обмеження первинного ключа або обмеження зовнішнього ключа."
Це мене дуже бентежить! Добра практика (не обов'язкова) мати зовнішні ключі в сховищі даних з різних причин (цілісність даних, відносини, видимі для семантичного рівня ...)
Отже, Microsoft виступає за кластеризовані індекси стовпців для сховищ даних; однак вона не може впоратися із зовнішніми ключовими відносинами ?!
Чи правильно я в цьому ставлюсь? Які ще підходи ви порадили б? Раніше я використовував некластеризований індекс зберігання стовпців у сценаріях сховища даних, із падінням та перебудовою для завантаження даних. Однак SQL Server 2014 тоді не додає нової реальної цінності для сховищ даних ??