ビュー(view)とは

ビューは、テーブルのように検索対象としてSELECT文のFROM句に指定してデータを参照することができます。
しかし、ビューの実態はデータを持っていません。ビューは「あるテーブルに対する参照結果」とイメージするのがよいかと思います。

ではなぜ、ビューというものを使うのかというと、ビューの目的は「SQLの簡略化」や、「セキュリティの向上」にあります。
データ取得の際に多数のテーブルを参照しなければならない場合、複雑なjoin句を含むSELECT文を発行しなければなりません。しかし、先に複雑なJOIN文で定義したビューを作成しておけば、簡易なSQLのみで必要なデータ取得が可能です。これが、SQLの簡略化。
また、実データはテーブルに持ち、テーブルには触れないように権限を設定。参照用ビューを作成すれば、セキュリティの観点で強固になります。

ビューを作成する

ビュー作成の基本的な構文は以下です。

CREATE VIEW ビュー名 as SELECT文;

以下のようなテーブル、table1とpriceがあったとします。

これらをよくjoinするのであれば、joinで定義したviewを作成しましょう。

ここで以下のjoin文を使って2つのテーブルから検索したSQLと、ビューを使って検索したSQL文の複雑さを比べてみましょう。

これは2つのテーブルのjoinという最もシンプルな例ですが、それでもなかな簡易になったことを確認できると思います。
さらに複雑な問い合わせであればビューを使うメリットを感じることができるでしょう。
しかし、よく勘違いされる方がいますが、内部処理は結局joinを行っているため、viewを使うことでSQL処理が軽くなるわけではありません。
逆にパフォーマンスを意識しないSQLでビューを作成してしまうことによりビューを使うと「SQL処理が遅くなる」ことが起こりえます。気を付けて利用しましょう。

←MySQLオブジェクトへ
←MySQLtopへ