webForumDet fria alternativet

optimera databas

Databaser & SQL

9 svar · 536 visningar · startad av dp81

Medlem sedan okt. 200447 inlägg
Frågan#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

Medlem sedan dec. 20014 239 inlägg
Medlem sedan okt. 200447 inlägg
#3

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

Medlem sedan dec. 20014 239 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.

Medlem sedan okt. 200447 inlägg
#5

Händer inget

Table Op Msg_type Msg_text
xxx.xx optimize status OK

Medlem sedan dec. 20014 239 inlägg
#6

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

Medlem sedan okt. 2000149 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).

Medlem sedan juni 20008 205 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?

Medlem sedan okt. 200447 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).

Medlem sedan juni 20008 205 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.

255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)