しがないエンジニアのブログスマートフォン用の表示で見るしがないエンジニアのブログ技術的な内容をメモ代わりにつらつらこの広告は、90日以上更新していないブログに表示しています。2019-04-24mysqlのストレージエンジンの種類についてMySQLmysqlのengineってなんだろうと思ったのでまとめてみた。現在使っているのはInnoDBというものだが、実はいろいろ種類があるらしい。代替ストレージエンジンそれらを1つずつざっくりと説明する。InnoDBmysql5.5以降はデフォルトでこれが指定される。こちらを利用しておけばいいと思う。以下のような特徴がある。行ロックトランザクション機能がある(InnoDBのみ)堅牢性が高いMyISAMInnoDBと比較されるもう一つのストレージエンジン。InnoDBを使う理由がない場合はMyISAMを使う。以下のような特徴がある。(1/3)MEMORY名前の通り、データをメモリ上に展開して保存する。そのため、mysqlを再起動するとデータが消えてしまう。メモリ上にあるため、アクセスが非常に高速。(1/3)CSVsqlのデータをcsvファイルとして扱うことができる。my.cnfに設定したdatadir以下に、.frmの他に、.CSM、.CSVの計3種類のファイルが作られる。その中のcsvファイルを変更することで、DBのデータも一緒に変更することができる。TABLE;を忘れずに。BlogARCHIVEデータの登録、参照のみ可能で、変更ができない。REPLACEなどは利用できない。データは圧縮して保存されているため、容量が小さく済む。インデックスを付与することができない。(2/3)BLACKHOLESELECTやINSERTなどのSQLを発行しても、すべてemptyが返ってくるような形式。試運転時や、マスター-スレーブ構成のときに使うらしい(よくわかってないです)。これについては参考サイトを確認してください。annex:エンジニアライフMERGE複数のテーブルを結合し、あたかも1つのテーブルで処理しているかのようにできる。INSERTやUPDATE,DELETEをした場合、merge元とmerge先のテーブルの両方のデータが更新される。merge先のテーブルがインデックスをもつ場合、merge元のテーブルも必ず同じインデックスを有している必要がある。merge先のテーブルにINSERTする場合、INSERT_METHODオプションでどのテーブルに挿入するかを決定する。ストレージエンジンFEDERATED別のネットワークのMySQLデータにアクセスし、あたかもローカルがDBを持っているかのように振る舞うことができる。これによって、簡易的なマスター-スレーブ構成が作れる。QiitaEXAMPLE自作のストレージエンジンを作成するための例として存在する。クエリを発行できるが、SELECTやINSERTはできない。shigurengはてなブログをはじめよう!turgureさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。