ホームページ  >  記事  >  データベース  >  MySQL で myisam を innodb に変換するチュートリアルの例

MySQL で myisam を innodb に変換するチュートリアルの例

零下一度
零下一度オリジナル
2017-06-17 16:56:371140ブラウズ

myisam を innodb に変換するには、テーブルのストレージ エンジンを変更する必要があります。標準的な方法に従って myisam を innodb に変更しないと、データベースの損傷やデータの損失が発生する可能性があります。myisam を変換する正しい方法を見てみましょう。 innodbに。

<script>ec(2);</script>

ここでは、2 つの違いと変換方法を簡単に紹介します:

MyISAM: MyISAM は、MySQL5.5 より前のバージョンのデフォルトのデータベース ストレージ エンジンです。 MYISAM は、高速な保存と取得、および全文検索機能を提供し、データ ウェアハウスなどの頻繁にクエリを実行するアプリケーションに適しています。ただし、トランザクションや外部キーはサポートされていません。 MyISAM 形式の重要な欠陥は、テーブルが破損するとデータを復元できないことです。

InnoDB: InnoDB は MySQL バージョン 5.5 のデフォルトのデータベース ストレージ エンジンですが、InnoDB は Oracle によって買収され、MySQL によって開発された新しいストレージ エンジンが MySQL バージョン 6.0 で導入されます。 InnoDB は、コミット、ロールバック、クラッシュ回復機能を備えたトランザクションセーフです。ただし、MyISAM ストレージ エンジンと比較すると、InnoDB は書き込み効率が低く、データとインデックスを保持するためにより多くのディスク領域を消費します。それにもかかわらず、InnoDB にはトランザクションと外部キーのサポートが含まれていますが、どちらも MyISAM エンジンでは利用できません。

MyISAM は次の場合に適しています: (1) 大量のカウント計算を実行する; (2) 挿入がまれでクエリが非常に頻繁である; (3) トランザクションが存在しない。
InnoDB は次の場合に適しています: (1) 信頼性要件が比較的高い、またはトランザクションが必要である、(2) テーブルの更新とクエリが非常に頻繁であり、テーブルがロックされる可能性が比較的高い。 (4) Alibaba Cloud のリレーショナル データベース RDS などの別個のデータベース サーバーなど、よりパフォーマンスの高いサーバーには、InnoDB エンジンをお勧めします。

MySQL は通常、次のコマンドを実行することで表示できるさまざまなストレージ エンジンを提供します:

まず MySQL に入ります コマンド ライン モード

MySQL が提供するストレージ エンジンを表示します:
mysql>

MySQL のエンジンを表示します。現在のデフォルトのストレージ エンジン:
mysql> '%storage_engine%' のような変数を表示します

wpsql ライブラリをクエリします
mysql> 現在のライブラリ内のすべてのテーブル名をリストします

mysql> を確認する必要がありますwp_posts テーブル エンジンに使用されるもの (表示された結果のエンジン パラメーターの後のパラメーターは、テーブルで現在使用されているストレージ エンジンを示します):

mysql> show create table wp_posts;

wp_posts テーブルを InnoDB ストレージ エンジンに変更します。このコマンドを使用して InnoDB を MyISAM に置き換えることもできます) :

mysql> ALTER TABLE wp_posts ENGINE=INNODB;
データベース テーブル全体のストレージ エンジンを変更したい場合は、通常、テーブルを 1 つずつ変更する必要があります。比較的面倒ですが、まずデータベースをエクスポートし、SQL を取得して、すべての MyISAM を INNODB に置き換えてから、

データベースをインポートします



変換が完了したら、mysqlを再起動します> mysqld restart

以上がMySQL で myisam を innodb に変換するチュートリアルの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。