-2

テーブル内のすべての列を返すために * を決して使用しない場所を読みました。これは怠惰です。この場合、5 つの列すべてが必要で、後でテーブルに変更を加えない場合、次の点でパフォーマンスに違いはありますか?

SELECT * 
from table

対。

SELECT id,col1,col2,col3,col4 
from table
4

2 に答える 2

3

顕著なパフォーマンスの違いはないと思いますが、製品コードでは、明示的な列リストを使用します。

  • それはより明確です
  • 追加、削除、または変更される列が決してないことを絶対に知る方法はありません
  • 後でクエリを更新して、列のエイリアスなどを行う方が簡単です
  • そのクエリにを追加しJOINなければならなくなった場合、SELECT *
于 2013-05-10T19:12:09.140 に答える
0

違いはないはずです。これは単なる悪い習慣です。table後で変更すると、より複雑なクエリ (複数のテーブルにまたがるクエリなど) が使用されている場合に壊れる可能性があります*

于 2013-05-10T19:10:20.260 に答える