По-голямата част от времето ми прекарвам в работа с моите клиенти по Изчерпателната проверка на ефективността на базата данни . Най-добрата част от ангажимента за проверка на здравето е, че се срещам с много нови хора и споделям много различни истории. Наскоро ме попита един от администраторите на база данни, които също работят върху MySQL заедно със SQL Server, коя е моята предпочитана машина за MySQL – MyISAM или InnoDB?
Мисля, че е много интересен въпрос за задаване през 2019 г., тъй като вярвам, че самият екип на MySQL вече е взел решението за това от версията на MySQL 5.5. Те вече са избрали InnoDB като двигател по подразбиране от MySQL 5.5.
Ето моите основни пет причини да премина с InnoDB
- InnoDB поддържа заключване на ниво ред, което е от решаващо значение за производителността. MyISAM поддържа само заключване на ниво таблица, което създава огромно затруднение, когато таблицата ви се актуализира често.
- InnoDB внедрява транзакции, които са от решаващо значение за критичното приложение на база данни, което участва в банкирането, както и в електронната търговия.
- InnoDB поддържа релационни ограничения като външни ключове, което го прави по-удобен за релационна база данни спрямо MyISAM, който не поддържа никакви.
- InnoDB поддържа ACID (атомност, последователност, изолация, издръжливост) транзакции, което го прави напълно съвместим с правилата на RDBMS, които MyISAM не го поддържа.
- InnoDB управлява индекси и базова таблица с помощта на вътрешния мениджър за съхранение с буферен пул на паметта, който е изключително ефективен по отношение на производителността. MyISAM използва дискови файлове основно за основната таблица, която не е оптимизирана за производителност.
Моето предложение е, ако трябва да направите избора на машината или да оставите вашия MySQL да реши двигателя по подразбиране, или да изберете InnoDB, който има най-новите функции на RDBMS.
В момента пиша бяла книга по тази тема, след като бялата книга бъде публикувана, ще я споделя с всички вас, за да можете да я прочетете за нея.