MySQLストレージエンジン紹介(MyISAM、InnoDB)
文書ディレクトリ一、MySQLストレージエンジン 二、MyISAM紹介 三、MyISAM適用の生産シーン例 四、InnoDBの特徴紹介 五、InnoDB適用生産シーン分析 六、企業がストレージエンジンを選択する根拠 7、ストレージエンジン の修正
一、MySQLストレージエンジン MySQLのデータは様々な異なる技術でファイルに保存され、それぞれの技術は異なる記憶メカニズム、インデックス技術、ロックレベルを使用し、最終的に異なる機能と能力を提供し、これらの異なる技術とセットの機能はMySQLで記憶エンジン と呼ばれている.ストレージエンジンは、MySQLがファイルシステムにデータを格納する格納方式または格納フォーマット である. MySQLでよく使用されるストレージエンジン MyISAM InnoDB MySQLデータベース中額コンポーネント、実際のデータI/O操作 を実行する MySQLシステムでは、ストレージエンジンはファイルシステムの上にあり、データがデータファイルに保存される前にストレージエンジンに転送する、その後、各ストレージエンジンのストレージフォーマットに従ってストレージ を行う.
二、MyISAM紹介 MyISAMはトランザクションをサポートせず、外部キー もサポートしません.アクセス速度が速い トランザクションの整合性には は必要ありません. MyISAMディスク上に3つのファイル として格納 .frmファイルストレージテーブル定義 データファイルの拡張子は.MYD(MYData) インデックスファイルの拡張子は.MYI(MYIndex) 表レベルのロック形式であり、データは更新時に表 全体をロックする.データベースは、読み書き中に をブロックします.は、データ書込の過程でユーザデータの読み出しをブロックする である.はまた、データの読み出し中にユーザのデータ書き込みをブロックする である.データは単独で書き込みまたは読み取り、速度プロセスが速く、占有リソースが比較的少ない である. MyISAMがサポートするストレージフォーマット 静的テーブル ダイナミックテーブル 圧縮テーブル 三、MyISAMが適用する生産シーンの例会社の業務は事務サポート を必要としない一方的にデータを読み書きする比較的多いトラフィック . MyISAMストレージエンジンデータの読み書きが比較的頻繁なシーンは に適していない.は、比較的低いトラフィック への読み書き同時アクセスを使用する.データ修正が比較的少ない業務 データ業務の整合性に対する要求が非常に高くない業務 サーバハードウェアリソースの比較差 四、InnoDBの特徴紹介は、4つのトランザクション独立性レベル をサポートします.行レベルはロックするが、全テーブルスキャンは依然としてテーブルレベルロック である.読み書きブロックトランザクション独立性レベルに関連する は、インデックスとデータ を非常に効率的にキャッシュできます.テーブルとプライマリ・キーは、 をクラスタ化して格納.は、oracleデータベース のようなパーティション、表領域をサポートします.は外部キー制約をサポートし、5.5前は全文インデックスをサポートしなかった.5.5後のバージョンは をサポートした.ハードウェアリソースに対する要求が比較的高い場合 .
五、InnoDB適用生産シーン分析ビジネスに必要なトランザクションのサポート 行レベルのロックは、高同時性に優れていますが、クエリがインデックスによって を完了することを確認する必要があります.ビジネスデータの更新が頻繁なシーン(フォーラム、微博など) 業務データの一致性の要求が高い(例えば、銀行業務など) ハードウェアデバイスのメモリは比較的に大きく、lnnodbの比較的良いキャッシュ能力を利用してメモリの利用率を高め、ディスクのIO圧力 を減らす.
六、企業がストレージエンジンを選択する根拠は、各記憶エンジンが提供するコア機能およびアプリケーションシーン を考慮する必要がある.でサポートされているフィールドおよびデータ型 すべてのエンジンで共通のデータ型 がサポートされています.ただし、バイナリオブジェクト などの他のフィールドタイプがすべてのエンジンでサポートされているわけではありません.ロックタイプ:異なるストレージエンジンは異なるレベルのロック をサポートする.行ロック テーブルロック インデックスのサポート データベース内のデータの検索と復元におけるインデックスの確立により、パフォーマンスが大幅に向上する .異なるストレージエンジンが異なるインデックス作成技術 を提供する.インデックス はサポートされていないストレージもあります.トランザクションのサポート は、テーブルに情報を更新挿入する間の信頼性を高める である.は、エンタープライズ・ビジネスがトランザクションをサポートするか否かに応じてストレージ・エンジン を選択することができる.
七、ストレージエンジンの修正
方法1:alter table修正
方法2:myを修正する.cnf、デフォルトのストレージエンジンを指定し、サービスを再起動
方法3:create tableテーブル作成時にストレージエンジンを指定する
方法4:Mysql_convert_table_format変換ストレージエンジン(5.5以下のバージョンのみ)
t変換ストレージエンジン(5.5以降のみ)**
一、MySQLストレージエンジン
二、MyISAM紹介
五、InnoDB適用生産シーン分析
六、企業がストレージエンジンを選択する根拠
七、ストレージエンジンの修正
方法1:alter table修正
alter table table_name engine= ;
方法2:myを修正する.cnf、デフォルトのストレージエンジンを指定し、サービスを再起動
default-storage-engine=InnoDB
方法3:create tableテーブル作成時にストレージエンジンを指定する
create table ( ) engine=
方法4:Mysql_convert_table_format変換ストレージエンジン(5.5以下のバージョンのみ)
Mysql_convert_table_format -user=root -password= -sock=/tmp/mysql.sock -engine=
t変換ストレージエンジン(5.5以降のみ)**
Mysql_convert_table_format -user=root -password= -sock=/tmp/mysql.sock -engine=