- PR -

viewの乱用についての質問

投稿者投稿内容
キリギリス
常連さん
会議室デビュー日: 2004/08/26
投稿数: 33
投稿日時: 2008-08-18 17:29
開発環境は、Java,Struts,hibernate,oracle10gを使用しております。
現在のプロジェクトでSQLを書くのが面倒なので先に色々なviewを作成して置いて必要な都度そのviewを使用する。と言う考えを持ったPMが居ます。
複雑なSQLをviewにして、それを呼べば問題ないでしょうtって言ってましたが・・・・!
さて、ここで質問なのですが、このようにviewの乱用というのは如何なものなのでしょうか?問題ありですか?問題無いものでしょうか?
私、自身SQLに自信が無いので皆さんの意見をお聞かせ下さい。
こあら
大ベテラン
会議室デビュー日: 2007/06/26
投稿数: 157
投稿日時: 2008-08-18 17:44
乱用は当然問題ありです。理由があって多用するのは問題無しでしょう?
それから例えば、viewとhibernateの相性、などは気になります。
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2008-08-18 17:49
さかもとと申します。

どの辺りの頻度からViewの「乱用」と言えるのかがよくわかりませんが、要件次第で幅が出てくるかと思います。

そのPMにもViewを多用したい理由というのがあるかと思うのですが、「ただ面倒だから」以外の理由を何かお聞きになりましたか?




_________________
------------------------------------------
拝啓、さかもとと申します♪
turutosiya
常連さん
会議室デビュー日: 2003/06/10
投稿数: 49
お住まい・勤務地: 東京都
投稿日時: 2008-08-18 17:50
引用:

SQLを書くのが面倒なので


viewにするにせよしないにせよ、SQLは書くことになると思いますが、
私としては、

1. コードの中にSQLが埋め込まれるのを避ける
2. データベースロジックを一元化する

上記の目的で、viewやストアドをよく作ります。
キリギリス
常連さん
会議室デビュー日: 2004/08/26
投稿数: 33
投稿日時: 2008-08-18 18:02
さかもと様、貴重なご意見ありがとうございます。

引用:

どの辺りの頻度からViewの「乱用」と言えるのかがよくわかりませんが、要件次第で幅が出てくるかと思います。


確かに、「乱用」の使い方としては誤りであって、確かに要件次第で幅が出てくるので「多用」と表現するのが適切だと思われます。

引用:

そのPMにもViewを多用したい理由というのがあるかと思うのですが、「ただ面倒だから」以外の理由を何かお聞きになりましたか?


こちらの件ですが、、「ただ面倒だから」以外の理由は多分現段階のプログラマーの方々に普通のSQLを書けるレベルの方がいらっしゃらない為だと思われます。
その為に、難しくなるSQLをviewにしておけば良いとの考えだと思われます。
くまっち
大ベテラン
会議室デビュー日: 2008/01/18
投稿数: 169
お住まい・勤務地: 茨城県のどこか。
投稿日時: 2008-08-18 18:29
VIEWは幾ら使っても問題無いと思います。

ただ、一つ気になったのが・・・

VIEWのVIEWにしている場合、パフォーマンスが低下する場合がありますので
その点だけは注意した方が良いと思います。
(VIEWのVIEWを多用している場合「乱用」と言っても良いかもしれません)
やじゅ
常連さん
会議室デビュー日: 2008/07/15
投稿数: 28
お住まい・勤務地: 静岡市
投稿日時: 2008-08-18 18:57
複数テーブルのビューを作成した場合の副問い合わせについては
パフォーマンスに注意が必要です。
単一テーブルのビューなら特に気にする必要はないかな。

ビューのパフォーマンスに注意
http://itpro.nikkeibp.co.jp/article/COLUMN/20060322/232971/?SS=imgview&FD=7256014&ST=system
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2008-08-18 19:25
私は VIEW は、昔 SQL をコマンドプロンプトのように対話型の言語として使っていた時代の名残だと思っています。
現代、SQL をそのように対話的に使うことはまずないと思います。せいぜいデバッグのときぐらいでしょう。したがって、私なら、よほどの理由がないかぎり VIEW を使わないほうを選択します。
よほどの理由とは、実運用時にも、SQL 用のコマンドラインツールを使って対話型に SQL を発行するのが普通のシステムだったり、DBMS の都合で VIEW じゃないとできなかったりパフォーマンスが悪い場合などです。

スキルアップ/キャリアアップ(JOB@IT)