- - PR -
SQL文「Select *」を使用するのは邪道?
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2009-01-16 18:22
ゴン太さん
ご意見ありがとうございます。
すいません、知識不足で「set timing on」というのを調べてみます。 ありがとうございました。 | ||||
|
投稿日時: 2009-01-16 19:51
SELECT * 反対派です。
私の環境ではJOINが入るSQLが多いので、2つのテーブルで同じ名前の項目があるとわけわかんなくなります。 あと、項目名でソースをGREPする時に*があると引っかからないし。 カバリング インデックスが効かないのももったいないですね。チューニングで付加列を追加しても意味ないし。 | ||||
|
投稿日時: 2009-01-16 21:15
インラインビューにおいて列名を列挙し
それに対するクエリで * を使うことならあります。 ROWNUM と ORDER BY で上位N件を取得する場合などです。 select * from ( select 列名の列挙 from 〜 order by 〜 ) where rownum < 100 | ||||
|
投稿日時: 2009-01-19 09:36
よっしーさん
rozhさん ご意見ありがとうございました。 参考にさせて頂きます。 | ||||
|
投稿日時: 2009-01-19 11:50
「SELECT *」の場合、表やVIEWの変更によって項目の追加や属性変更、並びの変更などに対応できません。
よって、私は反対派です。 | ||||
|
投稿日時: 2009-01-20 13:21
>厳密にはどうなんでしょうか?
>SQLを書く上での持論をお聞かせ下さい 厳密なことは分かりませんが、持論で。 100項目もあるテーブルにおいて、5割以上使う場合などにおいて、 *を使用することはよいとは思います。 しかし、基本的には項目名を記述する派です。 >レスポンスやメモリ使用率等の観点から との記載がありますが、可読性とエラー検出の観点もあるかと思います。 |