sql >> Databasteknik >  >> RDS >> Mysql

När ska man använda TEXT i mysql istället för VARCHAR

En lång VARCHAR lagras på samma sätt som en TEXT /BLOB fältet i InnoDB .

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 .

TEXT och BLOB lagras utanför bordet med tabellen bara med en pekare till platsen för den faktiska lagringen.

VARCHAR lagras i linje med tabellen. VARCHAR är snabbare när storleken är rimlig.

Enligt det här testet , VARCHAR är ungefär tre gånger så snabbt som text.



  1. Använda ett alias i SQL-beräkningar

  2. Fel:Metoden eller operationen är inte implementerad. samtidigt som byggnadsställningar MYSQL-databasen

  3. Migreringsfel i django 2; AttributeError:'str'-objektet har inget attribut 'decode'

  4. Massinsätta eller uppdatera med Hibernate?