sql >> Database teknologi >  >> RDS >> Mysql

Hvad er de optimale varchar-størrelser til MySQL?

For at besvare spørgsmålet bruger MySql på disken 1 + størrelsen, der bruges i feltet til at gemme dataene (så hvis kolonnen blev erklæret varchar(45), og feltet var "FooBar", ville den bruge 7 bytes på disken, medmindre du selvfølgelig brugte et multibyte tegnsæt, hvor det ville bruge 14 bytes). Så uanset hvordan du erklærer dine kolonner, vil det ikke gøre en forskel i lagerenden (du sagde, at du er bekymret for diskoptimering til en massiv tabel). Det gør dog en forskel i forespørgsler, da VARCHAR'er konverteres til CHAR'er, når MySql laver en midlertidig tabel (SORT, ORDER osv.), og jo flere poster du kan passe ind på en enkelt side, jo mindre hukommelse og hurtigere vil dine tabelscanninger være.



  1. MySQL LIKE I()?

  2. Opret funktion gennem MySQLdb

  3. Hvordan forespørger jeg mellem to datoer ved hjælp af MySQL?

  4. Objektet kunne ikke slippes, fordi det refereres til af en FOREIGN KEY-begrænsning - SQL Server / TSQL-vejledning, del 74