Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gibt es einen WIRKLICHEN Leistungsunterschied zwischen INT- und VARCHAR-Primärschlüsseln?

Sie machen deutlich, dass Sie einige verbundene Abfragen vermeiden können, indem Sie einen sogenannten natural verwenden Schlüssel anstelle eines Ersatzschlüssel . Nur Sie können beurteilen, ob der Nutzen davon in Ihrer Anwendung erheblich ist.

Das heißt, Sie können die Abfragen in Ihrer Anwendung messen, die am wichtigsten sind, um schnell zu sein, weil sie mit großen Datenmengen arbeiten oder sehr häufig ausgeführt werden. Wenn diese Abfragen von der Eliminierung eines Joins profitieren und nicht durch die Verwendung eines varchar-Primärschlüssels leiden, dann tun Sie es.

Verwenden Sie keine der beiden Strategien für alle Tabellen in Ihrer Datenbank. Es ist wahrscheinlich, dass in einigen Fällen ein natürlicher Schlüssel besser ist, aber in anderen Fällen ist ein Ersatzschlüssel besser.

Andere Leute weisen darauf hin, dass es in der Praxis selten vorkommt, dass sich ein natürlicher Schlüssel nie ändert oder Duplikate hat, daher sind Ersatzschlüssel normalerweise lohnenswert.