sql >> Database >  >> RDS >> Sqlserver

Is een primaire sleutel nodig in SQL Server?

Nodig? Nee. Achter de schermen gebruikt? Welnu, het wordt op schijf opgeslagen en in de rijcache bewaard, enz. Als u het verwijdert, worden uw prestaties enigszins verbeterd (gebruik een horloge met een precisie van milliseconden om het op te merken).

Maar ... de volgende keer dat iemand verwijzingen naar deze tabel moet maken, zullen ze je vervloeken. Als ze dapper zijn, zullen ze een PK toevoegen (en lang wachten tot de DB de kolom heeft gemaakt). Als ze niet dapper of dom zijn, zullen ze referenties gaan maken met behulp van de zakelijke sleutel (d.w.z. de gegevenskolommen), wat een onderhoudsnachtmerrie zal veroorzaken.

Conclusie:aangezien de kosten van het hebben van een PK (zelfs als deze geen gebruikte geldautomaat is) zo laag zijn, laat het zo zijn.



  1. Java Multicast Time To Live is altijd 0

  2. hoe variabele van shellscript door te geven aan sqlplus

  3. Selecteer in een veel-op-veel-relatie in MySQL

  4. SQLServer IDENTITY Kolom met tekst