sql >> Databasteknik >  >> RDS >> Mysql

Finns det en VERKLIG prestandaskillnad mellan INT- och VARCHAR-primärnycklar?

Du gör en bra poäng att du kan undvika ett antal sammanfogade frågor genom att använda vad som kallas en naturlig nyckel istället för en surrogatnyckel . Det är bara du som kan bedöma om nyttan av detta är betydande i din ansökan.

Det vill säga, du kan mäta de frågor i din applikation som är viktigast för att vara snabba, eftersom de arbetar med stora datamängder eller så exekveras de väldigt ofta. Om dessa frågor drar nytta av att eliminera en join och inte lider av att använda en varchar-primärnyckel, gör det då.

Använd inte någon av strategierna för alla tabeller i din databas. Det är troligt att i vissa fall är en naturlig nyckel bättre, men i andra fall är en surrogatnyckel bättre.

Andra har en bra poäng att det är sällsynt i praktiken att en naturlig nyckel aldrig ändras eller har dubbletter, så surrogatnycklar är vanligtvis värt besväret.



  1. Hur gör jag en radgenerator i MySQL?

  2. Formatera siffror med kommatecken i PostgreSQL

  3. Hur återställer jag mysql root-lösenordet?

  4. Jämför endast dag och månad med datumfält i mysql