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

Leistung von VARCHAR vs. TEXT, wenn die Daten in die Zeile passen

Lassen Sie uns einige Tools verwenden

Da die erste Ahnung (siehe unten) ein Fehlschlag war , versuchen Sie, Ihre Abfrage über MySQL Workbench auszuführen um Statistiken zur Abfrageleistung zu sammeln .

Anfangsvermutung (kein Ergebnis)

Nur ein Gedanke:

  • TEXT Spaltengröße auf der Festplatte ist 2 + N Bytes, wobei N die Länge des Strings ist
  • VARCHAR dauert 1 + N Bytes (für N ≤ 255) oder 2 + N Bytes (für 256 ≤ N ≤ 65535)

Versuchen Sie, die Größe des Textes in der Spalte über 256 zu erweitern Zeichen und führen Sie Ihre Tests erneut aus. Möglicherweise werden sie mit einer besser abgestimmten Leistung ausgeführt.

Bitte beachten Sie auch, dass die von Ihnen geposteten Unterschiede in Mikrosekunden pro Datensatz ausgedrückt werden, sodass viele OS-Ereignisse im Weg stehen könnten oder sehr einfach if (TEXT) {do some additional IO or housekeeping} Codepfad in der Quelle.