webForumDet fria alternativet

optimera databas

9 svar · 536 visningar · startad av dp81

dp81Medlem sedan okt. 200455 inlägg
#1

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

ZaimanMedlem sedan dec. 20012 439 inlägg
dp81Medlem sedan okt. 200455 inlägg
#3

Glömde skriva att jag kör mySQL :-S

ZaimanMedlem sedan dec. 20012 439 inlägg
#4
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.

dp81Medlem sedan okt. 200455 inlägg
#5

Händer inget

Table Op Msg_type Msg_text
xxx.xx optimize status OK

ZaimanMedlem sedan dec. 20012 439 inlägg
#6

Fanns det något utrymme att optimera på den tabellen då?
Kör du genom phpmyadmin ?

neox83Medlem sedan okt. 2000153 inlägg
#7

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).

spangoMedlem sedan juni 20006 147 inlägg
#8

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?

dp81Medlem sedan okt. 200455 inlägg
#9

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).

spangoMedlem sedan juni 20006 147 inlägg
#10

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.

Genererad på 385 ms · cache AV · v20260730165559-full.f96bc7eb