Citat:
Originally posted by Blackex@Jul 4 2006, 08:14
Citat:
For MyISAM tables, if you do not have any variable-length columns (VARCHAR, TEXT, or BLOB *columns), a fixed-size row format is used. This is faster but unfortunately may waste some space.
|
|
Kanske värt att understryka:
if you do not have any variable-length columns, alltså en riktig effektivitetsvinst får man antagligen bara om man håller hela tabellen med fasta storlekar (DATE, INT, CHAR etc) och helt undviker t ex TEXT och VARCHAR i den tabellen.
Jag håller med
eg0master om att VARCHAR kan vara mer praktiskt ur platsbesparingssynpunkt, men frågan här var ju egentligen hur man kan få snabbare sökningar. Och det ger CHAR. Tycker kanske det var lite överdrivet att gnälla på
Blackex, även om inlägget var saxat från doc:en så var det relevant.
Citat:
garanterat exaklt lika långa värden (t.ex. bokstavsförkortningar för stater i USA eller Län i sverige).
|
Vad det gäller ett begränsad antal strängar som inte förändras ofta skulle jag föreslå ENUM istället för (VAR)CHAR, vilket borde ge betydligt snabbare sökningar i större tabeller.