0

2 つのテーブルから MAX 値を選択する方法は 2 つありますが、どちらが優れているか、どちらが速いかわかりません。私はからチェックしましmysql workbenchたが、両方のクエリの場合、0.00 Sec実行時間を取得しています

最初のクエリ

SELECT MAX(s) from (
  SELECT sheetid  s FROM csheets
  UNION all
  SELECT sheetid s FROM queueitems
) as t

説明 ここに画像の説明を入力

2 番目のクエリ

SELECT MAX(s) from (
  SELECT MAX(sheetid)  s FROM csheets
  UNION all
  SELECT MAX(sheetid) s FROM queueitems
) as t

説明 ここに画像の説明を入力 では、速度の点でどちらが優れているかという質問はありますか?

4

1 に答える 1

1

2 番目の方が優れています。集計が前に実行されるため、最初のクエリよりも一時テーブルでのステップが 1 つ少なくなります。

ただし、 EXPLAIN を使用して実行計画を見てください。

于 2014-03-02T10:06:26.473 に答える