Domanda

Sto studiando alcune delle più recenti tecnologie disponibili in SQL Server 2005/2008. La maggior parte delle mie applicazioni sono scritte in C # e generalmente hanno un componente di database. La maggior parte di ciò che trovo su Google è di base, "Ecco come impostare un UDT CLR". Ho alcune domande generali sulla loro applicazione e utilizzo nel mondo reale.

  • Gli UDT ospitati da CLR sono comunemente usati nelle applicazioni? Grande o piccola scala
  • Ci sono problemi di prestazioni nell'usarli?
  • I DBA generalmente preferiscono utilizzare solo i tipi predefiniti?

Sembrano un modo per stipare un oggetto in una tabella. Sono corretto nel ritenere che l'attuale gamma di problemi che hanno soluzioni semplificate a causa del loro uso sia minima?

È stato utile?

Soluzione

Gli UDT hanno un vantaggio solo quando rappresentano veramente alcuni elementi fondamentali della tua applicazione. Quasi sempre possono essere suddivisi in tipi predefiniti, ma i vantaggi sono che non è necessario eseguire il cast dell'oggetto restituito. Quindi probabilmente non dovresti usare UDT che rappresentano oggetti complessi come Employee, ma qualcosa di fondamentale come Size o Location potrebbe essere una buona scelta perché è leggera ma molto rigida nella sua definizione.

Altri suggerimenti

Ho studiato il loro utilizzo, ma mi sono sentito a disagio per il controllo delle versioni. Cosa succede se si carica una versione più recente dell'assembly sul server? A causa delle dipendenze, dovresti eliminare l'UDT e ricrearlo, ma cosa succede ai dati? Restiamo fedeli ai tipi integrati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top