11. oktober 2000 - 11:33Der er
3 kommentarer og 1 løsning
Transaktioner og MySql
Er der nogen der har gode forslag eller link til samme, til hvordan man omgår at MySql ikke understøtter transaktioner. Mit problem er at min bruger skal kunne oprette bestilling og godkende sig selv og bestillingen via en maildemon inden bestillingen bliver endeligt \'committed\' i db\'en.
Hvis jeg har forstået dit spørgsmål korrekt, kan du vel bare lave et felt, der hedder \"godkendt\", der bliver udfyldt når bestillingen er blevet godkendt.
Altså, hele bestillingen smides i databasen, feltet godkendt har værdien 0 / False, når bestillingen godkendes opdaterer du feltet til 1 / True.
Så skal der bare laves en funktion, evt. cronjob, der sletter bestillinger, der ikke er godkendt inden for f.eks. 7 dage.
Hvad vil du så mene der vil være mest effektivt at oprette en temp tabel til de tenative(ikke godkendte)data eller at lavet et ekstra felt i den eksisterende tabel. Her tænker jeg både på det rent vedligeholdelses mæssige og på performance overfor klienterne.
Uden at have vildt meget forstand på databaser, vil jeg tro, at det er lettest bare at tilføje et ekstra felt.
Tabellen med bestillinger er vel ikke den del af databasen, der bliver hårdest belastet og du kommer vel højst til at køre et par INSERT og UPDATES men ingen store og kompliceres SELECTS.
Derfor tror jeg ikke du skal bekymre dig om performance.
Det bedste er at gøre som doeleman siger og lave et ekstra felt i den samme tabel...at lave et helt ny tabel hvor data skal presses igennem giver dårligere perfomance...men er det bare en alm. webshop så er det ligegyldigt fordi så mærker man det ikke, med mindre der er rigtig mange ordrer om dagen 10.000+
Og da transaktioner gør noget helt andet end det du har brug for, så er det slet ikke det du søger efter. Transaktioner er jo til for at sikre at en update som køre på tvæers af flere tabeller osv, forbliver indtakt i tilfælde af server nedbrud osv...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.