Простой вариант смены типа базы данных на «InnoDB» на PHP
Многие популярные движки рекомендуют использование InnoDB как основу своей базы данных, ссылаясь на то, что этот тип базы более оптимален в плане скорости выборки данных.
Мне довелось поработать над оптимизацией одного сайта на CMS DataLife Engine, где часть таблиц базы данных имели тип «InnoDB», а часть – «MyISAM». Основываясь на тематику сайта и принцип обновления информации на нем, было решено свести всю база данных к одному типу – «InnoDB».
Вариантов, как это можно сделать, существует несколько, я же покажу вам простой PHP-скрипт, который в автоматическом режиме переведет вашу базу данных в нужный тип.
Скрипт выглядит следующим образом:
<?php
$host = "localhost";
$login = ""; // Логин
$password = ""; // Пароль
$db = ""; // Имя базы
mysql_connect($host, $login, $password);
mysql_select_db($db);
$query = mysql_query("SHOW TABLES");
while($table = mysql_fetch_array($query)) {
mysql_query("ALTER TABLE `".$table["Tables_in_".$db]."` ENGINE = InnoDB");
}
?>
Его вы вставляете в новосозданный PHP-файл и прописываете данные от вашей базы данных (логин, имя базы и пароль).
После этого, вы грузите файл к себе на сайт и просто открываете его в браузере. После того, как конвертация базы произошла, файл желательно удалить.
Обратите внимание, что при использовании этого скрипта на сайте должен быть PHP версии ниже 7.0.
Скрипт работает независимо от CMS сайта.