[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]![]() |
![]() |
![]() |
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
![]() |
![]() |
![]() |
I sslug.programmering, skrev Lars Riisgaard Ribe: > Jeg arbejder på et web-baseret content management system skrevet i PHP > med MySQL som database. Jeg har for nemhedens skyld altid brugt > MyIsam-engine'en og forsøger at opretholde datakonsistens med "lock > tables"... ved skrivninger over flere tabeller. Jeg har svært ved at betragte MySQL med MyIsam som en database. Den mangler i høj grad features som er essentielle for en database eksempelvis sikring referentiel integritet og transaktioner. Eksempel.. du opretter en struktur som indeholder flere records. Eksempelvis en træstruktur. Programmet stopper midt i (apache bliver genstarte, mysql bliver genstarte, computeren crasher, etc, etc). Den eneste mulighed du har for at finde ud af hvor langt den er nået er ved at parse hele strukturen igennem igen og finde ud af hvor den var nået til. Alternativt putter du dit eget "transaktionslag" udenom, så du har en synkronisering skrivning til disken der fortæller at "Hele denne operation gik godt".. (også er du ved at genopfinde det som din database burde have gjort for dig). > Ud fra min begrænsede viden kan jeg godt se, at innoDB har nogle > fordele, men jeg vil meget gerne høre jeres mening om, hvor stort et > arbejde det er at konvertere kode, hvor meget det "koster" i performance > og om det er besværet værd? Det er nemt.. om performance er til at leve med kan du vel finde ud af ved at teste det. Migrering er mere eller mindre at lave en dump og lave search'n'replace på MyISAM => InnoDB og loade den igen. Efterfølgende giver det så mening at give sig til at oprette alle de fremmednøgler som databasen mangler da den har brugt MyISAM og endnu værre kan det gå hvis der er data i databasen der ikke er konsistente, så skal du til at rydde op i databasen. > Selvom spørgsmålet er lidt udefineret, håber jeg på nogle gode > argumenter for/imod konvertering. Jeg har svært ved at se hvad du har at miste, men der er åbenlyse fordele[1] ved at hoppe på en "rigtig" database. [1] http://en.wikipedia.org/wiki/ACID Jesper -- ./Jesper Krogh, sslug@sslug, Jabber ID: sslug@sslug
![]() |
![]() |
![]() |
||||||||||||
|
||||||||||||||
![]() | ||||||||||||||
|
||||||||||||||
![]() |
![]() |
![]() |