sql >> Databasteknik >  >> RDS >> Mysql

VARCHAR vs TEXT i MySQL

En lång VARCHAR lagras på samma sätt som en TEXT /BLOB fältet i InnoDB (som jag antar att du använder för transaktionalitet, referensintegritet och kraschåterställning, eller hur?) - det vill säga externt till resten av tabellen på disken (vilket kan kräva att en annan disk läsas för att hämta).

källa

Såvida du inte behöver indexera dessa kolumner (i vilket fall VARCHAR). är mycket snabbare) finns det ingen anledning att använda VARCHAR över TEXT för långa fält - det finns några motorspecifika optimeringar i MySQL för att ställa in datahämtningen efter längd, och du bör använda rätt kolumntyp för att dra nytta av dessa.

Om du använder MyISAM en djupgående diskussion om ämnet finns här .



  1. Hur kan jag synkronisera två MySQL-tabeller som har samma strukturer och olika server

  2. Välj (hämta) alla poster från flera scheman med Postgres

  3. Välj från en tabell där fälten inte matchar villkoren

  4. Genererar du ett UUID i Postgres för infoga uttalande?