Jag har en databas med meningar som innehåller 5 miljoner rader.
Databasen börjar bli lite stor (450MB) så jag undrar om det går att få ner storleken på något sätt? Jag använder endast små bokstäver och mellanslag i cellerna.
/Daniel
9 svar · 536 visningar · startad av dp81
Jag har en databas med meningar som innehåller 5 miljoner rader.
Databasen börjar bli lite stor (450MB) så jag undrar om det går att få ner storleken på något sätt? Jag använder endast små bokstäver och mellanslag i cellerna.
/Daniel
Glömde skriva att jag kör mySQL :-S
OPTIMIZE TABLE `tabellen`
För enskild tabell.
Har du tillgång till phpmyadmin kan du markera alla icke optimerad tabeller och köra direkt därigenom.
Fanns det något utrymme att optimera på den tabellen då?
Kör du genom phpmyadmin ?
Ett bra sätt att få ner lagringstorleken är att använda databasmotorn "archive" istället för Myisam (eller vad du tänkas kunna använda).
Har du index på strängarna, prova att begränsa indexnyckeln till de första X tecknen. Om strängarna är av typen CHAR, byt till VARCHAR. Sen tycker jag väl inte att 450 MB för 5 miljoner rader är vidare illa, det är ju inte ens 100 byte/rad. Hur långa är strängarna?
Jag kör phpmyadmin, det är en sökmotor för anagram (http://www.anagramma.se), har indexering annars tar det för lång tid att söka och jag använder varchar(49).
OK, jag förstår. Du skulle kunna ta en hash på vad det än nu är du indexerar och göra sökningar på hashen. Svårt att ge några bra optimeringstips om man inte vet hur datastrukturen ser ut.