FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hej,
En databas för en lösning jag byggt har växt enormt den senaste tiden och är nu på närmare 500MB. Det är som oftast statistikdelen som medför att storleken skenar iväg. Sökningar mot databasen blir också då allt segare. Finns det någon genial lösning på hur man kan hantera detta? Databasen ligger på en dedikerad server som i övrigt har bra med utrymme och prestanda. En variant som jag ser det är att bygga ett script som schemalagt aggregerar data från databasen efter en viss tid, och lägger detta i en egen databas och städar därefter upp i "produktionsdatabasen". Detaljstatistik är ändå oftast inte superintressant efter en tid, men man önskar ofta kunna jämföra med äldre statistik på ett mer övergripande sätt. Tänkte om det kanske fanns någon "färdig" smart lösning som andra använder sig av. Någon? |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Mycket flitig postare
|
vi gör likadant.. faktiskt.. :)
fast i 2 steg.. efter ett tag flyttar vi gammal data till en sekundär sql-server.. sen efter ytterligare ett tag så flyttas den datan till vanliga filer och bränns ut och lagras i ett skåp |
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Mycket flitig postare
|
500 Mb borde väl ändå inte bli så mycket data att söka igenom?
Har du koll på hur du optimerar index och nycklar? När datan ligger över 1 gb så skulle jag börja fundera i dina tankar, sen beror det mycket på vad det är för typ av data, om det är sånt som kan stoppas undan för att plockas fram senare(eller helt tas bort) eller om det är sånt som används hela tiden? Glöm inte bort att schemalägga (förslagsvis genom crontab) en optimize på alla tabeller typ kl 03 varje natt. /J |
|||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Flitig postare
|
Citat:
Jo, att "optimera" tabellen, det förstår jag med, men HUR. Är det ungefär som en "defrag" på en hårddisk eller? |
|||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Har WN som tidsfördriv
|
Citat:
EXPLAIN:a dina querys och kolla så att rätt fält är indexerade så att det inte görs några fullscans, om det körs många fler inserts än selects så ska du dock va försiktig med index och förslagsvis endast skapa indexen före en tung select och sen droppa det, beror på hur det funkar. Kanske kan du förbättra cachningen på dina select querys också genom att optimera dom. http://www.databasejournal.com/features/my...cle.php/1382791 |
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Medlem
|
Tack för alla bra synpunkter och länkar!
Jag har lite hemläxa att ta tag i... |
||
![]() |
![]() |
Svara |
|
|