Holger, jag tänker att om vi talar om när detta händer så kanske det går att se ett mönster eller ett samband med någon annan händelse. Syftet är givetvis att underlätta felsökningen.
Michael Meier skrev:... En användare har 10 olästa kopplat till sig, klickar på ett nytt oläst inlägg, den föråldrade siffran 10 skall bytas till 9, dvs något ska raderas och något ska skrivas, just i det skedet blir systemet överlastat. ...
MM, en helt korrekt iakttagelse. Det du beskriver kallas "transaktioner" (egentligen frånvaro av transaktioner) på "databasspråk" och ska inte kunna ske om databasen är tillräckligt säker.
Jag vet dock inte om MySQL klarar transaktioner. Tidiga varianter av MySQL klarade i alla fall inte det men det kanske är åtgärdat på nyare dito.
Skolexemplet på en databas som INTE hanterar transaktioner ser ut
ungefär så här:
Olle har 1000:- på sitt bankkonto när han går till banken i Eskilstuna för att ta ut 500:-. I kassan läser datorn saldot om 1000:- och ger alltså "klartecken" att ta ut 500:-.
Samtidigt går Stina till banken i Sthlm för att sätta in 3000:- på Olles konto. Olle har nu 4000:- på kontot.
Nu är datorn i Eskilstuna klar och ger order till databasen att notera att Olle bara har 500:- kvar på sitt konto.
Olle blev alltså blåst på 3000:-! Och fort gick det också!
Nu känner vi i och för sig allihop att vi hela tiden blir blåsta av bankerna men det är en annan sak.
En databas som hanterar transaktioner "låser" alltså kontot medan Olle gör sitt klart, sen får Stina göra sitt och Olle slipper därmed bli blåst. I alla fall på just dom pengarna, men jag tror att Stina är skum på nåt annat.
Transaktioner i databasvärlden säkerställer med andra ord korrekta data och samtidighet (så nära man kan komma i alla fall).
Jag är glad att banksystemet inte använder MySQL.
(inget illa menat, jag vet vad MySQL inte (!) kostar
)
Nu ska jag återgå till pappersexcercisen så att det kommer in pengar på mitt konto nån gång!