Omdat ik een script run die enkele query's uitvoert waarvan ik zeker moet zijn dat ze allemaal uitgevoerd worden, wil ik met transactions gaan werken. Nu heb ik binnenkort MySQL 4.0.18 tot mijn beschikking en zal het gebruik van transactions geen probleem zijn. Alleen zit ik wat met snelheid. Niet alle tabletypes binnen MySQL kunnen met transactions omgaan voor zover ik begrijp uit de documentatie van mysql.com.
Nu heb ik een test script gemaakt en daar wat tijdsmetingen gedaan. Bij het tabletype MyISAM (die geen transactions ondersteunt) kom ik er af met 0.040 seconde, maar gebruik het tabletype DBD (wat wel transactions ondersteunt) dan kom ik uit op 0.100. Nu is mn test script maar 1 % van wat het daadwerkelijk moet gaan doen en gaat het script uiteindelijk denk ik wat te veel tijd kosten, want zoals het er nu uit ziet duurt het gewoon twee en half keer zo lang voor dat alles uitgevoerd is. Ik heb helaas de mogelijkheid niet om te testen met het tabletype InnoDB (wat als het goed is ook transactions ondersteunt) en kan ik daar dus geen testen mee draaien.
Binnen het script gebeuren relatief weinig selects, wel veel updates en inserts.
Mijn vraag is: hoe gaan jullie om met transactions binnen MySQL, welk tabletype is volgens jullie het snelste en wat zijn jullie ervaringen? Ik ben wel bekend met het gebruik van transactions in MS SQL server 2000, maar goed daar heb ik niet zoveel aan als het om snelheid gaat in MySQL. O ja: een andere DBMS dan MySQL is ff geen optie
Nu heb ik een test script gemaakt en daar wat tijdsmetingen gedaan. Bij het tabletype MyISAM (die geen transactions ondersteunt) kom ik er af met 0.040 seconde, maar gebruik het tabletype DBD (wat wel transactions ondersteunt) dan kom ik uit op 0.100. Nu is mn test script maar 1 % van wat het daadwerkelijk moet gaan doen en gaat het script uiteindelijk denk ik wat te veel tijd kosten, want zoals het er nu uit ziet duurt het gewoon twee en half keer zo lang voor dat alles uitgevoerd is. Ik heb helaas de mogelijkheid niet om te testen met het tabletype InnoDB (wat als het goed is ook transactions ondersteunt) en kan ik daar dus geen testen mee draaien.
Binnen het script gebeuren relatief weinig selects, wel veel updates en inserts.
Mijn vraag is: hoe gaan jullie om met transactions binnen MySQL, welk tabletype is volgens jullie het snelste en wat zijn jullie ervaringen? Ik ben wel bekend met het gebruik van transactions in MS SQL server 2000, maar goed daar heb ik niet zoveel aan als het om snelheid gaat in MySQL. O ja: een andere DBMS dan MySQL is ff geen optie