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

MySQL ydeevne af unikt varchar felt vs unikt bigint

Er din hex-værdi en GUID? Selvom jeg plejede at bekymre mig om ydeevnen af ​​så lange elementer som indekser, har jeg fundet ud af, at på moderne databaser er ydeevneforskellen på selv millioner af poster temmelig ubetydelig.

Et potentielt større problem er den hukommelse, som indekset bruger (f.eks. 16 byte vs 4 byte int), men på servere, som jeg kontrollerer, kan jeg allokere til det. Så længe indekset kan være i hukommelsen, finder jeg ud af, at der er mere overhead fra andre operationer, at størrelsen af ​​indekselementet ikke gør en mærkbar forskel.

På den positive side, hvis du bruger et GUID, opnår du serveruafhængighed for oprettede registreringer og mere fleksibilitet ved at flette data på flere servere (hvilket er noget, jeg bekymrer mig om, da vores system samler data fra underordnede systemer).

Der er en graf i denne artikel, der ser ud til at understøtte min mistanke:Myths, GUID vs Autoincrement



  1. Viser et JSON-datasæt som en tabel med Node.js og Express

  2. MySQL og HBase Connectivity

  3. Hvordan låser man bevidst en MySQL-række, så selv SELECT vil returnere en fejl?

  4. Postgres dynamiske forespørgselsfunktion