MySQL базите, както всеки друг софтуерен продукт, непрекъснато се разработват и непрекъснато се добавят нови функции. Популярни CMS като WordPress и Joomla бързо приемат тези нови функции на базата, за да подобрят сигурността, надеждността и производителността. В тази статия ще разгледаме един от най-важните аспекти на MySQL базата – нейният механизъм за съхранение. Ще обсъдим какво представлява механизмът за съхранение и как да променим механизма за съхранение за вашите таблици на MySQL базата.
Какво е механизъм за съхранение?
На най-основното си ниво механизмът за съхранение на бази е програма, която директно манипулира информацията, съхранявана в базата. Механизмът за съхранение приема команди чрез своя интерфейс за програмиране (API). Тези команди инструктират механизма да създава, чете, актуализира или изтрива един или повече записи в базата.
Какъв е механизмът за съхранение по подразбиране?
В момента, ако започнете да създавате нови таблици във вашата база , без да посочвате механизъм за съхранение, механизма за съхранение MyISAM ще се използва по подразбиране. Добрата новина е, че ако по-късно осъзнаете, че имате нужда от различен механизъм за вашата таблица, ще можете да го промените без загуба на данни.
Как да видя текущия механизъм за съхранение на таблицата?
Ако не сте сигурни кой механизъм за съхранение се използва във вашата таблица, можете лесно да разберете чрез phpMyAdmin или като изпратите SQL заявка. Ще разгледаме и двата подхода.
За phpMyAdmin следвайте тези стъпки:
- Отворете phpMyAdmin
- Кликнете на таблицата, която искате да проверите
- Изберете раздела Operations
- Ще видите механизма за съхранение в колоната Table options
Ако желаете да направите това действие чрез SQL команда можете да използвате следния код:
SHOW TABLE STATUS WHERE `Name` = ‘table-name’;
Не забравяйте да смените table-name с действителното име на вашата таблица.
Как да създам таблица, която използва InnoDB?
Ако знаете, че вашият сайт ще се нуждае от механизма за съхранение на InnoDB, можете лесно да създадете новите си таблици, използвайки InnoDB от самото начало. InnoDB е достъпен във всички наши планове за платен хостинг и дори в нашата безплатна хостинг услуга. Всъщност има два различни начина, по които можете да зададете вашия механизъм за съхранение, в зависимост от това как създавате таблицата си – чрез интерфейса phpMyAdmin или с помощта на SQL команда.
Можете да създадете таблица с InnoDB като механизъм за съхранение чрез интерфейса на phpMyAdmin, като следвате стъпките по-долу:
- Отворете phpMyAdmin
- Кликнете на името на базата в лявата колона
- В секцията Create table въведете името за таблицата и изберете броя на колоните и кликнете Go
- Ще бъдете пренасочени към страницата за създаване на таблици. Намерете секцията Storage Engine и изберете InnoDB
- Приключете със създаването на таблицата и кликнете Save
Ако искате да направите това чрез SQL команда ползвайте следния код:
CREATE TABLE new-table (a INT NOT NULL, b CHAR(10)) ENGINE=InnoDB;
Как да променя механизма за съхранение на вече съществуваща таблица?
Може да се изненадате да научите, че наистина е възможно да промените механизма за съхранение на съществуваща таблица на MySQL. И най-хубавото – вашите данни ще останат в безопасност. Преобразуването на вашата таблица от MyISAM в InnoDB е лесен процес, който може да бъде постигнат както чрез phpMyAdmin, така и чрез SQL заявка.
За да промените механизма за съхранение следвайте стъпките:
- Отворете phpMyAdmin
- Кликнете на таблицата, за която искате да направите промяната
- Отворете раздела Operations
- От колоната Table Options от падащото меню на Storage Engine променете от MyISAM на InnoDB и кликнете GO
Другия вариант да направите това е със следната SQL команда:
ALTER TABLE `table-name` ENGINE = InnoDB;
Не забравяте за замените table-name с името на таблицата, която искате да промените.
Единственото, което трябва да се спомене, е, че някои механизми за съхранение имат функции, които не се срещат в други механизми за съхранение. Така че, ако конвертирате от механизъм за съхранение с повече функции в такъв с по-малко, може да загубите някои от тези допълнителни персонализации.
Какви са основните разлики между InnoDB и MyISAM?
Въпреки че в повечето случаи софтуерът на вашия уебсайт ще диктува типа на механизма за съхранение, който трябва да използвате, някои пакети поддържат и двата типа механизъм за съхранение и в крайна сметка зависи от вас кой механизъм за съхранение ще използвате. По-долу е дадено кратко сравнение между двата най-популярни механизма за съхранение на данни InnoDB и MyISAM.
Като цяло InnoDB е по-усъвършенстваният механизъм за съхранение. Той използва релационен базов дизайн, който позволява функции като транзакции, външни ключове и заключване на редове. Следователно ще имате по-добра производителност, ако вашият проект изпълнява много вмъквания, актуализации и изтривания. InnoDB също е насочена към големи бази данни.
И обратно, MyISAM превъзхожда по отношение на производителността, ако вашият проект главно чете от базата данни, без да променя никакви данни. MyISAM също е предпочитаният механизъм за съхранение на по-малки проекти.
Заключение
Възможността за бързо превключване между различните механизми за съхранение Ви дава гъвкавостта да адаптирате вашата база данни към нуждите на вашия проект, тъй като тя расте с течение на времето. И тъй като вашите данни се запазват автоматично при всяка промяна на механизма за съхранение, можете да експериментирате с различни механизми за съхранение без риск и минимални усилия.