Un sacco di schemi di database sembra seguire la seguente norma:Perché le lunghezze dei campi SQL sono sempre (2^n) -1 a meno di 127?
(2^n) -1 per grandi settori:
varchar(511)
varchar(255)
varchar(127)
... poi (2^n) per quelli più piccoli
varchar(64)
varchar(32)
varchar(16)
varchar(8)
capisco il motivo per cui il numero di (2^n) -1 vengono utilizzati, quello che non capisco è il motivo per cui non è necessario continuare il trend verso il basso per i piccoli campi.
E.g.
varchar(63)
varchar(31)
varchar(15)
varchar(7)
C'è una ragione per questo o è solo che i rendimenti sono diminuiti troppo lontano?
Per il 2^n -1 Problema: Molti linguaggi di programmazione utilizzano un byte null per terminare un valore di stringa (Pascal era uno che non lo ha, ma memorizzato la lunghezza al primo byte della stringa), quindi è necessario un byte in più per memorizzare la stringa. Quindi questo potrebbe essere un motivo per usarne uno in meno. – WegDamit