Snabbare skrivning till MySQL was last modified: Dec 14th, 2015 by Albin Kiland

Snabbare skrivning till MySQL

5
apr
2013
Albin Kiland

Många webbsidor och de flesta webbapplikationer skriver vid något tillfälle till en databas.
I näst intill 100% av fallen är det såklart extremt viktigt att datan verkligen blir skriven till databasen korrekt och då används den vanliga ’INSERT’-satsen som kommer att returnera ett felmeddelande om datan inte lyckades skrivas till databasen varpå felet kan tas om hand.

Det finns dock fall då det inte är lika viktigt att datan verkligen blir skriven till databasen.
Då kan du istället använda dig av satsen ’INSERT DELAYED’ (fungerar med MyISAM tabeller).

När du använder ’INSERT DELAYED’ så kommer MySQL komma ihåg vilken data du försöker skriva till databasen och svara med att datan är skriven, utan att den nödvändigtvis är det än. MySQL kommer nu vänta med att skriva din data till databasen tills ett tillfälle ges. Det kan vara direkt eller om några millisekunder in i framtiden.
Genom detta kan din applikation bli en hel del snabbare och mer responsiv för användaren eftersom den slipper vänta på att datan blir skriven!

Men, eftersom din data inte blir skriven till databasen direkt utan hålls i minnet finns det en liten risk för att den(datan) blir förlorad. Om servern skulle crasha eller om strömmen skulle gå då din data inte blivit skriven till databasen än, så använd inte ’INSERT DELAYED’ om din data är av det viktigare slaget. Endast vid olika former av loggning och dylikt.

Innan du börjar använda dig av satsen bör du läsa igenom den officiella dokumentationen.