* `select ` **
の欠点
なぜデータベースプログラミングでSELECT *
を使用することが一般的に落胆しているのですか? この一見シンプルなクエリは、重大な問題をもたらす可能性があります
回避の理由:
- パフォーマンスボトルネック:アプリケーションが少数しか必要としない場合でも、テーブルからすべての列を取得します。これにより、データ転送が過剰になり、クエリの速度に影響を与え、サーバーの負荷が増加します。
SELECT *
インデックス非効率性:- すべての列を含めると、データベースがインデックスを使用して効果的に使用できないようにすることができます。 必要な列のみをカバーする慎重に構築されたインデックスは、パフォーマンスを劇的に改善しますが、はしばしばこの最適化をバイパスします。
SELECT *
データバインディングの課題: テーブルに参加すると、- は曖昧な列名(同じ名前の複数の列)につながる可能性があり、アプリケーションのデータ処理にエラーが発生します。 また、基礎となるテーブルの変更がビューを破る可能性があるため、ビューをより複雑にします。
*
SELECT *
`select `が受け入れられる可能性がある場合:**
一般的に避けられますが、例外は限られています:
探索的データ分析:
迅速で非公式のデータ探索については、
列名を指定する必要なく、利用可能なすべてのデータを表示する簡単な方法を提供します。
-
行数のカウントまたは存在チェック:または
SELECT *
サブQueriesなどのクエリの
- は、単に「行」を表します。列の値の。
以上がSelect *がデータベースプログラミングで有害と見なされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。