テーブル内のすべての列を返すために * を決して使用しない場所を読みました。これは怠惰です。この場合、5 つの列すべてが必要で、後でテーブルに変更を加えない場合、次の点でパフォーマンスに違いはありますか?
SELECT *
from table
対。
SELECT id,col1,col2,col3,col4
from table
顕著なパフォーマンスの違いはないと思いますが、製品コードでは、明示的な列リストを使用します。
JOIN
なければならなくなった場合、SELECT *
違いはないはずです。これは単なる悪い習慣です。table
後で変更すると、より複雑なクエリ (複数のテーブルにまたがるクエリなど) が使用されている場合に壊れる可能性があります*
。