|
||||||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||||||
| テーブルデータがテキストファイルであるメリット | ||||||||||||||
|
通常テーブルデータは、各ストレージエンジンでのみ解釈できる形式にてファイルに格納されています。ところが、CSVエンジンが使用するCSVファイルはテキストファイルであるため、MySQLを使用することなくテーブルデータを容易に扱うことができます。 例えばMyISAMエンジンは、テーブルデータ格納用に「テーブル名.MYD」ファイルを用います。この「テーブル名.MYD」ファイルの内部構造を理解して処理を行うことができるのはMyISAMエンジンです。テキストエディタなどを用いて、「テーブル名.MYD」ファイルの中身を確認したり、編集したりすることは事実上できません。 よって、テーブルデータの中身を読んだり書いたりするためには、必ずMySQLが起動している必要があります。 しかし、CSVテーブルのようにテーブルデータが外部からでも解釈可能なテキストファイルで格納されていると、例え何らかの事情でMySQLが起動できない状況であってもテーブルデータを扱うことができます。 ここで簡単な例を紹介します。次に示すのはmysqlユーティティーとテキストエディタにてCSVテーブルを操作している例です。
表1:CSVテーブルの操作例 このように、CSVテーブルのデータはMySQLを使用しなくても扱えるという大きなメリットがあります。ただし、あまり件数の多いデータだとテキストエディタなどでの扱いが難しくなるため、このメリットを生かせるのはあくまでも比較的件数の少ないデータに限ると思います。 また上記のような操作を行う場合には、データファイルの不整合が発生しないような注意が必要です。テキストエディタにてテーブルファイルを操作している最中に、MySQL経由による対象テーブルへのINSERT文実行などによってデータファイルの不整合が発生します。 |
||||||||||||||
| Blackholeエンジン | ||||||||||||||
|
Blackholeエンジンとは、テーブルへ挿入したデータをディスク上だけでなくメモリ上にも格納しないストレージエンジンです。このような説明では、イメージがわかないかも知れませんので、具体的な動作で説明します。 次に示すのはmysqlユーティリティにて、Blackholeテーブルに対していくつかのSQL文を実行している例です。
表2:Blachholeテーブルの操作 このように、SQL文自体の実行は正常終了するものの、テーブルデータは存在していないため、SELECT文の実行結果は常に0件となります。 では、このようなストレージエンジンはどのような用途があるのでしょうか。それについては後述します。 |
||||||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||



