[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]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [PROGRAMMERING] Fordele ved innoDB



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



 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2006-11-01, 02:01 CET [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *