Артём Мáлков

Простой вариант смены типа базы данных на «InnoDB» на PHP

16 янв0 комм

Многие популярные движки рекомендуют использование 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 сайта.

Рекомендуем к просмотру
Рабочая авторизация на сайте через API в DLE
Хаки
Как добавить значение в существующую ячейку базы данных через SQL-запрос?
Статьи и советы
Решаем проблему «500 Error Site temporarily unavailable» на MODX Revo
Статьи и советы
0
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Подняться наверх
«Pandoge» - помощник вебмастера