sql >> Database >  >> RDS >> Mysql

Wanneer TEKST in mysql gebruiken in plaats van VARCHAR

Een lange VARCHAR wordt op dezelfde manier opgeslagen als een TEXT /BLOB veld in InnoDB .

bron

Tenzij u deze kolommen moet indexeren (in dat geval VARCHAR is veel sneller) is er geen reden om VARCHAR te gebruiken over TEXT voor lange velden - er zijn enkele engine-specifieke optimalisaties in MySQL om het ophalen van gegevens af te stemmen op lengte, en u moet het juiste kolomtype gebruiken om hiervan te profiteren.

Als u MyISAM gebruikt een diepgaande discussie over het onderwerp is hier .

TEXT en BLOB worden buiten de tafel opgeslagen, waarbij de tafel alleen een verwijzing heeft naar de locatie van de daadwerkelijke opslag.

VARCHAR wordt inline met de tabel opgeslagen. VARCHAR is sneller als de maat redelijk is.

Volgens deze test , VARCHAR is ongeveer driemaal zo snel als tekst.



  1. Rijnummering met p:dataTable

  2. Problemen met het matchen van rijen in de database met behulp van PDO

  3. Hiërarchische database MySQL Closure Table - Hoe informatie in de juiste volgorde eruit te halen?

  4. Retourneer het aantal rijen dat wordt beïnvloed door de SQL UPDATE-instructie in Java