Optimering af stor DB
HejJeg har en MySQL database med én tabel. Den har lige nu over 13 millioner rækker, fylder 4,6 GB og vokser hver uge, fordi jeg har ca 300.000 rækker nye data hver uge at fylde ind.
Jeg har én primær nøgle som er "id".
og derud over har jeg 3 unikke nøgler.
Det ser sådan ud når jeg eksportere strukturen fra DB
PRIMARY KEY (`id`),
UNIQUE KEY `Process_Start_Date` (`Process_Start_Date`,`Hostname`,`User_ID`)
1. Ser de 3 unikke nøgler OK ud? Jeg har IKKE valgt at den ene unikke nøgle "Process_Start_Date" er vigtigere end de andre. Er det et problem?
2. Optimering. Fordi DB er så stor, så tager søgninger selvfølgelig noget tid. Det hele er installeret lokalt på min bærbar. Så jeg ved godt at det ikke er den hurtigste harddisk det kører på. Måske kan det hjælpe at sætte en ekstern harddisk på?? Jeg har 4 GM Ram, men det ser ikke engang ud til at det bruger RAM af betydning. Det havde jeg egentlig regnet med. Kan man udnytte rammene mere til at speede det hele op?
Hvad kan jeg gøre for at lave søgninger endnu hurtigere?
Jeg tænker på at tweake en ini fil måske. Kan man sætte antallet af tråde op, og den slags, hvilke tal kan man skrue på hvor for at gøre det hurtige?
Husk, det er KUN mig der skal bruge den. Så den måtte gerne bruge 99% system ressourcer hvis det kan lade sig gøre.
3. Kan jeg optimere selve tabellen på en måde? Er der noget i MySQL man kan gøre for at gøre tabellen mere effektiv? Jeg er nybegynder i databaser og har aldrig haft med så store tabeller at gøre før at jeg har haft brug for at optimere på den måde.
Så alle konkrete optimeringsforslag er mere end velkomne :)