![]() |
Snabba upp MySQL databas
Hej,
För en tid sedan började en av mina sidor gå väldigt trögt. Jag misstänker att det är i samband med SQL-utsökningar. Detta eftersom jag inte gjort någon förändring med min sida från att det gick bra till att det började gå segt. Inte heller har webbhotellet gjort några förändringar - säger dem. Databasen är på 76 MB. Jag har testat att köra "Optimera tabell" i PhpMyAdmin, utan att det gett något. Någon som har tips på hur jag kan göra för att snabba upp min databas så att det rullar på som det gjort innan? MVH Fredrik-s |
Omöjligt att avgöra utan att se struktur + index + hur den används.
76 MB är ingen stor databas men hur stort utrymme har du på webbhotellet för databasen? Hur stor är temputrymmet? Har du ett maxvärde på temptabeller? Har du frågor som genererar tablescan? Bara något att börja med.... |
Finns det index på lämpliga kolumner (de som ofta används i where-delen)?
Misstänker att orsaken till att det går slött är att tabellerna vuxit och att index saknas. Det är ett ganska vanligt (slarv)fel. :) En annan tänkbar orsak kan vara att man kör en funktion på kolumnen i where-delen och det gör att indexet inte kan användas. Lägger du upp Sql-frågan blir det lättare att hjälpa till. Du kan också köra frågan via en query analyzer och få förslag på förbättringar. |
vilken sida gäller det?
vad är det som går segt? surf på sidan? sökningen kanske? Måste querys göras som är stora eller hade du kunnat vara mer specifik i in kod? vilket webbhotell? osv osv. lite svårt att veta såhär vid sidan av :). nu har du kanske inte möjligheten att få memcache osv. Men det är annars ett av de lösningar som kanske hade gått att använda. |
76 MB är inte så farligt. Kontrollera att du använder dina index (om du har några) effektivt!
|
Det är ju ganska omöjligt att svara på din frågeställning. Kolla upp vilka queries det är som tar för lång tid så finns det något att utgå från. Om problemet vuxit fram utan förändringar så är det ju sannolikt en effekt av en ökande tabellstorlek och / eller minskande serverkraft.
|
Jag har en MySQL databas hos en kund som är 4,8 GB och där går sökningar på mindre än en halv sekund med resultat på >1000 rader.
Använd rätt index, så kommer du märka skillnad. Kod:
EXPLAIN SELECT * FROM table WHERE bla=bla2 |
Alla tider är GMT +2. Klockan är nu 16:24. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson