物議を醸す SELECT *
SELECT * (テーブルからすべての列をフェッチするクエリ) の使用法は、長い間、二極化した慣行でした。データベース開発の領域。開発者の中には、これを不衛生で忌まわしい行為として非難する人もいますが、時折使用することを正当化する開発者もいます。
SELECT の許容可能な使用例 *
特定のシナリオでは、SELECT * を使用することが正当化されます。より具体的な選択:
-
監査トリガー: 監査トリガーにすべての列を含めると、ベース テーブルへの今後の追加が確実にキャプチャされて考慮され、潜在的な省略が防止されます。
-
派生テーブル: 派生テーブル内の SELECT *また、列テーブルの式は簡潔かつ洗練されており、各列を手動でリストする必要がなくなります。ただし、このアプローチでは、一部のデータベースで不要なオーバーヘッドが発生する可能性があることに注意することが重要です。
-
Views: 理論的には、最後の SELECT ステートメントでビューをフィルターする必要があるため、SELECT * をビューで使用できます。取得された列。ただし、これにより特定のデータベースでメタデータの不整合が生じる可能性があり、正確な結果を確保するには手動での更新が必要になります。
以上がSELECT *: データベース クエリにおける祝福か呪いか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。