12. oktober 2006 - 18:50Der er
14 kommentarer og 2 løsninger
Foreslå tabelstruktur i phpMyAdmin
Min mysql-database er version: MySQL 4.0.21 Min PhpMyAdmin: 2.6.0-pl3
Når jeg vælger en tabel i phpMyAdmin, er der et link der hedder "Foreslå tabelstruktur". Er der nogen, der ved, om det er meget energi/ydeevne, der spildes ved at have en "forkert" struktur. F.eks. hvis datatypen på et felt bliver foreslået til int(4), og jeg har sat den til int(11).
Jeg kan se, at der er mange steder, hvor tabellerne analyseres til at kunne optimeres. Men hvor stor en betydning har dette for databasens ydeevne?
Jeg har i øjeblikket tabeller, der fylder op til 500 KB (de fleste er selvfølgelig mindre).
jeg ville aldrig bruge TINYTEXT - VARCHAR(255) er langt bedre
det fylder ikke mere at gemme 'ABC' i en VARCHAR(255) end i en VARCHAR(64) - du skal derfor kun vaelge VARCHAR(64) hvis du opfatter det som en fejl hvis data er laengere end 64 tegn
ja ok - men det giver ikke en masse spildplads i databasen, når man alligevel ikke anvender de 255 tegn, som man egentlig har skrevet.
Er lige ved at optimere databasen - og har f.eks. fået fjernet det der "overhead" ved at sætte flueben ved de tabeller det er galt med og så trykke optimer. (i phpMyAdmin)
Dvs. det vil overhovedet ikke give nogle fordele i databasens ydelse ved at jeg ændrer nogle datatyper. (jeg bruger enum, int(11), varchar(250), text ... det er vist dem).
Heller ikke mht unsigned og det? (jeg kommer aldrig op på max alligevel)
du skal vælge unsigned hvis dine data af nayur ikke kan være negative
du skal vælge mindre end 250 for VARCHAR hvis data af natur ikke kan være så store
når du skal vælge data type så er prioriteringen: 1) at valide data kan være i data typen 2) at invalide data ikke kan være i data typen 3) plads forbruget
Ok, jeg tror bare jeg lader det være som det er. For der er ikke nogen grænse på hvor store tallene må være ... men f.eks. brugerid løber jo ikke op i 1 mio ;-) (eller nær)
tak for al responsen, vil du ik give et svar, så skyder jeg pointene over :-)
tallene på INT har som sagt ingen praktisk betydning overhovedet, som vi startede med
jeg kan fgodt ligge et svar, men jeg synes absolut at coderdk også har fortjen point, fordi han var faktisk først med svaret på det oprindelige spørgsmål !
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.