sql >> Database teknologi >  >> RDS >> Sqlserver

Er en primær nøgle nødvendig i SQL Server?

Nødvendig? Nej. Brugt bag kulisserne? Nå, det er gemt på disk og opbevaret i rækkecachen osv. Fjernelse vil øge din ydeevne en smule (brug et ur med millisekunds præcision for at bemærke det).

Men ... næste gang nogen skal oprette referencer til denne tabel, vil de forbande dig. Hvis de er modige, vil de tilføje en PK (og vente i lang tid på, at DB'en laver kolonnen). Hvis de ikke er modige eller dumme, vil de begynde at oprette referencer ved hjælp af forretningsnøglen (dvs. datakolonnerne), hvilket vil forårsage et vedligeholdelsesmareridt.

Konklusion:Da omkostningerne ved at have en PK (selvom den ikke er brugt ATM) er så små, lad det være.



  1. Konverter Unixtime til Datetime SQL (Oracle)

  2. LISTAGG i Oracle for at returnere forskellige værdier

  3. Sådan opretter du forbindelse til SQL Server Default Instance og SQL Server Navngivne Instances - SQL Server / TSQL Tutorial Del 2

  4. Problemet med MySQL MyISAM-tabellens ydeevne er genset