New answers tagged


If you use NVarchar over Varchar and you have no requirement to support MULTI-LINQUAL, you increase storage for DB, Backups (local and offsite). Modern Databases should support both and any Conversion hits should be considered in the design.


Most of the answers in this thread are 5 years old, written before InnoDB and utf8 were defaults. So, let me start over... When a query needs an internal temporary table it tries to use a MEMORY table. But MEMORY cannot be used if TEXT/BLOB columns being fetched, not even TINYTEXT. VARCHAR bigger than some amount, probably 512 in the current version. ...


CHAR has a nasty side. ANALYSE() predates character sets, and its code was probably not updated to take into account that English text in CHAR(...) utf8mb4 wastes 3/4 of the space! Also, there was some utility of MyISAM row_format=fixed, but such is now useless in the default InnoDB. Bottom line: ignore its advice about CHAR unless you (1) really have ...

Top 50 recent answers are included