MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLのストレージエンジンとは?サポートされているエンジン一覧の確認方法を解説

ストレージエンジンとは

ストレージエンジンとは、データベース管理システム(DBMS)が、データベースに対する作成(CREATE)・読み取り(READ)・更新(UPDATE)・削除(DELETE)といったSQL操作を処理するために使用するソフトウェアコンポーネントのことです。言い換えれば、DBMSがデータベース内の情報を管理するために利用する仕組みであり、テーブルへのデータの格納方法やトランザクションの扱い方などを決定づける中核的な役割を担っています。

最も広く使われているストレージエンジンはInnoDBで、MySQL 5.5以降のバージョンではデフォルトのストレージエンジンとして採用されています。それ以前のMySQL 5.5未満では、MyISAMがデフォルトでした。

サポートされているストレージエンジンの一覧を確認する方法

インストール済みのMySQLがサポートしているストレージエンジンの一覧は、SHOW ENGINESコマンドで簡単に確認できます。

mysql> SHOW ENGINES\G
*************************** 1. row ***************************
      Engine: FEDERATED
     Support: NO
     Comment: Federated MySQL storage engine
Transactions: NULL
          XA: NULL
  Savepoints: NULL
*************************** 2. row ***************************
      Engine: MRG_MYISAM
     Support: YES
     Comment: Collection of identical MyISAM tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 3. row ***************************
      Engine: MyISAM
     Support: YES
     Comment: MyISAM storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 4. row ***************************
      Engine: BLACKHOLE
     Support: YES
     Comment: /dev/null storage engine (anything you write to it disappear
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 5. row ***************************
      Engine: CSV
     Support: YES
     Comment: CSV storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 6. row ***************************
      Engine: MEMORY
     Support: YES
     Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 7. row ***************************
      Engine: ARCHIVE
     Support: YES
     Comment: Archive storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 8. row ***************************
      Engine: InnoDB
     Support: DEFAULT
     Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
          XA: YES
  Savepoints: YES
*************************** 9. row ***************************
      Engine: PERFORMANCE_SCHEMA
     Support: YES
     Comment: Performance Schema
Transactions: NO
          XA: NO
  Savepoints: NO
9 rows in set (0.00 sec)

主なストレージエンジンの特徴

  • InnoDB(デフォルト):トランザクション、行レベルロック、外部キーをサポートしており、信頼性の高いOLTP処理に最適なエンジンです。
  • MyISAM:読み取り中心の処理に向いた軽量なエンジンですが、トランザクションには対応していません。
  • MEMORY:データをメモリ上にハッシュベースで格納し、一時テーブルなどの高速処理に便利です。
  • CSV:データをCSV形式のファイルとして保存するシンプルなエンジンです。
  • ARCHIVE:大量の履歴データなどを圧縮してアーカイブ保存するのに適したエンジンです。
  • BLACKHOLE:書き込んだデータがすべて消える「/dev/null」のようなエンジンで、レプリケーションの検証などに利用されます。

出力結果の「Support」列を見ると、そのエンジンが使用可能かどうかがわかります。「YES」なら使用可能、「NO」なら無効、「DEFAULT」ならデフォルトエンジンであることを示しています。

  1. MySQL 8.0で新たに導入されたオプションと変数の一覧

    MySQL 8.0で新たに追加されたオプション・変数とは MySQL 8.0では、パフォーマンスの向上や運用管理の柔軟性を高めるために、数多くの新しいオプションおよびシステム変数が導入されました。ここでは、その中から代表的なものを紹介します。各項目には、変数の意味と、追加されたバージョンを併記しています。 ステータス変数(Com_*系) Com_clone: 実行されたCLONEステートメントの数を示します。MySQL 8.0.2で追加されました。 Com_create_role: 実行されたCREATE ROLEステートメントの数を示します。MySQL 8.0.0で追加されました。 Co

  2. MySQLがサポートするプラットフォーム一覧|対応OSとアーキテクチャを徹底解説

    MySQLは非常に多くのプラットフォームに対応したデータベース管理系统であり、仮想環境へのデプロイにも柔軟に対応できます。本記事では、MySQLが公式にサポートしているオペレーティングシステムと、それぞれの対応アーキテクチャ(CPUアーキテクチャ)について詳しく解説します。 Oracle Linux / Red Hat Enterprise Linux / CentOS エンタープライズ用途で広く採用されているRHEL系ディストリビューションでは、以下のバージョンがサポート対象です。 Oracle Linux 8 / Red Hat Enterprise Linux 8 / CentOS