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

MySQL-Leistung des eindeutigen Varchar-Felds im Vergleich zu eindeutigem Bigint

Ist Ihr Hex-Wert eine GUID? Obwohl ich mir früher Sorgen um die Leistung so langer Elemente wie Indizes gemacht habe, habe ich festgestellt, dass bei modernen Datenbanken der Leistungsunterschied selbst bei Millionen von Datensätzen ziemlich unbedeutend ist.

Ein potenziell größeres Problem ist der Speicher, den der Index verbraucht (z. B. 16 Byte vs. 4 Byte Int), aber auf Servern, die ich kontrolliere, kann ich dafür zuweisen. Solange der Index im Speicher sein kann, finde ich, dass es mehr Overhead von anderen Operationen gibt, dass die Größe des Indexelements keinen merklichen Unterschied macht.

Auf der anderen Seite, wenn Sie eine GUID verwenden, erhalten Sie Serverunabhängigkeit für erstellte Datensätze und mehr Flexibilität beim Zusammenführen von Daten auf mehreren Servern (was mir wichtig ist, da unser System Daten von untergeordneten Systemen aggregiert).

Es gibt eine Grafik in diesem Artikel, die meinen Verdacht zu untermauern scheint:Mythen, GUID vs. Autoincrement