sql >> Database teknologi >  >> RDS >> Mysql

Er der en RIGTIG ydelsesforskel mellem INT og VARCHAR primære nøgler?

Du gør en god pointe, at du kan undgå et vist antal forenede forespørgsler ved at bruge det, der kaldes en naturlig nøgle i stedet for en surrogatnøgle . Det er kun dig, der kan vurdere, om fordelen ved dette er væsentlig i din ansøgning.

Det vil sige, at du kan måle de forespørgsler i din applikation, der er de vigtigste for at være hurtige, fordi de arbejder med store mængder data, eller de udføres meget ofte. Hvis disse forespørgsler har gavn af at eliminere en joinforbindelse og ikke lider ved at bruge en varchar-primærnøgle, så gør det.

Brug ikke nogen af ​​strategierne for alle tabeller i din database. Det er sandsynligt, at i nogle tilfælde er en naturlig nøgle bedre, men i andre tilfælde er en surrogatnøgle bedre.

Andre gør en god pointe, at det i praksis er sjældent, at en naturlig nøgle aldrig ændrer sig eller har dubletter, så surrogatnøgler er normalt umagen værd.



  1. hvordan man beregner lighed mellem to strenge i MYSQL

  2. Sådan fungerer OCTET_LENGTH() i MariaDB

  3. Sikkerhedskopiering på bordniveau

  4. SQLServer vs StateServer for ASP.NET Session State Performance