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

MyISAM

Η default storage που χρησιμοποιείται είναι η MyISAM η οποία έχει αρκετά πλεονεκτήματα όπως full text indexing, το οποίο είναι πολύ χρήσιμο για ερωτήματα που κάνουν search στη βάση με natural language. Άλλα πλεονέκτημα είναι η αυτόματη ή χειροκίνητη επιδιόρθωση πινάκων που χρησιμοποιούν αυτή τη storage engineκαθώς έχει γρηγορότερα reads. Μερικά μειονεκτήματα είναι ότι δεν υποστηρίζει Transactions και row-level locking αλλα table-level locking , ακεραιότητα δεδομένων και τα χαρακτηριστικά ACID - (Atomicity, Consistency, Isolation, Durability) καθώς και ξένα κλειδιά (Foreign Keys).

InnoDB

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

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

Για MySQL performance optimization υπηρεσίες και bottleneck Analysis