Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Индексиран изглед срещу индекси на таблица

Индексиран изглед ще причини същите проблеми като индекс на колона, тъй като индексираните изгледи изискват with schemabinding , които я свързват директно с таблицата, като ви забраняват да променяте/променяте схемата на тази таблица по какъвто и да е начин, форма или форма. Това включва преоразмеряване на колона (напр. от varchar(50) към varchar(255) ), промяна на типа данни на колона (напр. от double към decimal(18,5) ) и т.н. Виждал съм ги да причиняват много неочаквани главоболия поради този факт.

Моето предложение е да настроите съхранена процедура или SSIS пакет, който ще създаде таблица за отчитане за вас, която се изпълнява на всеки час. По този начин можете да индексирате вечно любящия ад от него и да се насладите на всички предимства на производителността, които произвежда. Срамувам се да докладвам от жива, работеща система. Всъщност все още не съм видял случая, в който това е необходимо. За целите на отчитането информацията от преди час обикновено е абсолютно достатъчна, за да се свърши работата.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL клиент за Mac OS X, който работи с MS SQL Server

  2. Възможно ли е принудително заключване на ниво ред в SQL Server?

  3. Използване на таблица от база данни като опашка

  4. Променете разделителя на запетая, когато изпращате по имейл резултати от заявка в SQL Server (T-SQL)

  5. Преобразуване на разделен със запетая низ в множество колони в sql сървър