1

オラクルの本で、2 つ以上のテーブルを結合して SELECT を実行するときに、列名の前に tablename を使用すると、SELECT がより高速に動作することを読みました。
例:
SELECT table1.name, table1.dob....代わりにSELECT name, dob....

MySQLでも同じですか?

編集

同一のフィールド名がある場合、これが良い方法であることはわかっています。私が考えていたのは、同じフィールド名がなくてもパフォーマンスの観点からだった

4

3 に答える 3

1

パフォーマンスについてはわかりませんが、特にテーブルを結合するときは良い習慣です。結合されたテーブルは、たとえば同一のフィールド名を持つことができ、クエリは失敗します。テーブル名が長すぎる場合は、エイリアスを使用することもできます。

SELECT t1.name, t2.dob FROM table1 t1 JOIN table t2 ON ...
于 2012-05-30T07:36:14.170 に答える
1

効率の観点から、Oracle と MySQLはSQL を実行する前に内部表現にコンパイルするため、指定されていない場合はフィールド名からテーブルを決定するため、実行時間に大きな違いはないと思います。 . 時間差は、各フィールドのテーブルを推測するコンパイル時になります。

実際、私は個人的に、テーブル名を指定すると Oracle の実行が速くなるという事実を疑っています!

于 2012-05-30T07:37:29.697 に答える