MyISAM vs InnoDB

  • τεχνολογία

Η mysql έχει αρκετές storage engines όπως είναι η MyISAM, InnoDB κ.α οποίες βρίσκονται στο storage engine API του mysql server, αυτές είναι υπεύθυνες για την αποθήκευση και ανάκτηση δεδομένων μέσα στο mysql server.

Η default storage που χρησιμοποιείται είναι η MyISAM η οποία έχει αρκετά πλεονεκτήματα όπως full text indexing, το οποίο είναι πολύ χρήσιμο για ερωτήματα που κάνουν search στη βάση με natural language. Άλλα πλεονέκτημα είναι η αυτόματη ή χειροκίνητη επιδιόρθωση πινάκων που χρησιμοποιούν αυτή τη storage engine, μπορούμε να εισάγουμε δεδομένα με insert query σε ένα πίνακα ενώ ταυτόχρονα τρέχουν select queries στον ίδιο πίνακα. Τα δύο σημαντικά μειονεκτήματα της είναι ότι δεν υποστηρίζει transactions και row-level locking.

Η άλλη κύρια storage engine της mysql είναι η InnoDB, η οποία είναι σχεδιασμένη ώστε να υποστηρίζει transactions. Τα transactions διασφαλίζουν την εκτέλεση queries τα οποία είναι συνεχόμενα και το ένα εξαρτάται από το άλλο. Ένα άλλο χρήσιμο χαρακτηριστικό της InnoDB είναι το row-level locking με το οποίο αποφεύγονται προβλήματα που δημιουργούνται όταν δύο queries τύπου insert ή update εκτελούνται την ίδια χρονική στιγμή, δηλαδή είναι πολύ χρήσιμο για high traffic enviroment.

Επίσης υπάρχουν και άλλες storage engines οι οποίες είναι κατάλληλες για άλλες διεργασίες και μερικές από αυτές είναι Τhe Memory Engine, The Archive Engine, The CVS engine, The NDB Cluster Engine, The Falcon και άλλες.

SaaS λογισμικό για να δημιουργήσετε εύκολα και γρήγορα το δικός σας eshop.