2

SELECTステートメントで代わりに実際の列名を使用すると、SQLクエリの実行が速くなるのはなぜSELECT *ですか?

4

4 に答える 4

5

目立った違いはまったく奇妙に思えます...それは非常に小さな違いであると予想し、それをテストすることに興味を持っているからです。

使用するステートメントに違いがあるのはSelect *、すべての列名を見つけるのに余分な時間がかかるためである可能性があります。

于 2011-04-06T12:04:36.867 に答える
3

クエリに応じて、一意の名前があるかどうか、それらがすべて何であるかなどを判断する必要があるためです。一方、具体的に言うと、すべてが完了します。

于 2011-04-06T12:03:59.843 に答える
1

一般的に、あなたがそれを言うほど、それは計算する必要が少なくなります。これは多くのシステムで同じです。

于 2011-04-06T12:06:04.780 に答える
0

Select *よりも特定の列名を選択すると、パフォーマンスが大幅に向上する可能性があります。これは、すでにインデックスが作成されている列を使用したかどうかを確認するだけの理由です。この場合、オプティマイザーはすべてのデータを選択する計画を立てます。実際のテーブルからではなく、インデックスからのみ。ただし、計画を一度確認してください。

于 2020-04-17T17:55:24.230 に答える