[解決済み] どちらが速いか/ベストか?SELECT * または SELECT column1, colum2, column3, etc.
2022-04-24 19:44:28
質問
という話を聞いたことがあります。
SELECT *
は、一般的にSQLコマンドを記述する際に使用するのは良くない習慣です。
SELECT
カラムが必要です。
が必要な場合
SELECT
テーブルのすべてのカラムに
SELECT * FROM TABLE
または
SELECT column1, colum2, column3, etc. FROM TABLE
この場合、効率は本当に重要なのでしょうか?私なら
SELECT *
というのは、本当にすべてのデータが必要なら、内部的にはもっと最適なのですが、データベースのことを全く理解せずに言っています。
この場合のベストプラクティスを知りたいのですが。
UPDATEしてください。
私が本当にそうする唯一の状況であることを明記すべきかもしれません。
欲しい
を実行します。
SELECT *
は、1つのテーブルからデータを選択するとき、新しいカラムが追加されても、すべてのカラムを常に取得する必要があることが分かっている場合です。
しかし、私が見た反応を見ると、これはまだ悪いアイデアのように思われ
SELECT *
というのは、私がこれまで考えていたよりもずっと多くの技術的な理由で、決して使われてはならないからです。
解決方法は?
特定のカラムを選択した方が良い理由として、SQL Serverがテーブルのデータを照会するのではなく、インデックスからデータにアクセスできる確率が高くなることが挙げられます。
それについて書いた記事はこちらです。 selectクエリがインデックスカバレッジを悪くする本当の理由
また、将来的にテーブルスキーマを変更しても、データを消費するコードは同じデータ構造を取得するため、変更に対する脆弱性も低くなります。
関連
-
MHAクラスタエラーサマリーの構築
-
[解決済み] SQLの結合形式 - 入れ子になった内側join
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] UNIONとUNION ALLの違いは何ですか?
-
[解決済み] 文字列の一部をUPDATEおよびREPLACEする。
-
[解決済み] 既存のカラムにIDを追加する
-
[解決済み] Entity Framework VS LINQ to SQL VS ADO.NETでストアドプロシージャを使う?[クローズド]
-
[解決済み] 別のテーブルに一致する項目がない行を選択するにはどうすればよいですか?
-
[解決済み】インデックスのカラムの順番はどのくらい重要ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SQL Server FOR EACH ループ
-
[解決済み] テーブルネーミングのジレンマ:単数形と複数形の名前【非公開
-
[解決済み] UNIONとUNION ALLの違いは何ですか?
-
[解決済み] ATTACHで開いたSQLiteデータベースファイルのテーブルを一覧表示するにはどうすればよいですか?
-
[解決済み] SQL Serverでストアドプロシージャ内のテキストを検索する
-
[解決済み] ある列の最大値を持つ行を取得する
-
[解決済み] SQL Serverで結果をページ分割する最も良い方法は何ですか?
-
[解決済み] 文字列の一部をUPDATEおよびREPLACEする。
-
[解決済み] SQL ServerでGROUP BYを使って文字列を連結する方法とは?
-
[解決済み] SQL Serverで、ある日付より大きいすべての日付を照会するにはどうすればよいですか?