sql >> Databasteknik >  >> RDS >> Sqlserver

Indexerad vy vs index på tabell

En indexerad vy orsakar samma problem som ett index i kolumnen, eftersom indexerade vyer kräver with schemabinding , som knyter den direkt till tabellen, vilket gör att du inte kan ändra/ändra schemat för den tabellen på något sätt, form eller form. Detta inkluderar att ändra storlek på en kolumn (t.ex. från varchar(50) till varchar(255) ), ändra en kolumns datatyp (t.ex. från double till decimal(18,5) ), etc. Jag har sett dem orsaka mycket oväntad huvudvärk på grund av detta faktum.

Mitt förslag är att skapa en lagrad procedur eller SSIS-paket som skapar en rapporttabell åt dig som körs varje timme eller så. På så sätt kan du indexera det ständigt kärleksfulla helvetet och njuta av alla prestandafördelar som det ger. Jag är blyg för att rapportera från ett live-system som pågår. Jag har faktiskt ännu inte sett fallet där detta är nödvändigt. För rapporteringsändamål är timgammal information vanligtvis helt tillräcklig för att få jobbet gjort.



  1. TypeORM OneToMany-filter i relationer påverkar inte resultatet

  2. Hur optimerar man SQL-frågan med att beräkna avstånd efter longitud och latitud?

  3. Vad är en bra praxis/design för att tråda flera SQL-frågor i Python

  4. Använder PHP &MySQL för att fylla i rullgardinsmenyn