0

これでパフォーマンスの問題が発生していますunion select(ショート):

SELECT 
    x.a, x.b, x.c, x.d, x.e, x.f, x.g, y.h, y.i
FROM
    x
LEFT JOIN y ON ...

UNION

SELECT
    c.a, c.b, c.c., c.d, c.e, c.f, c.g, d.h, d.i
FROM
    c
LEFT JOIN d ON ...

ORDER BY `ID`, CAST(`X` as UNSIGNED)

のせいで思ったように、クエリには最大1秒かかりますORDER BY。ただし、 を削除しORDER BYても実際のパフォーマンスは向上しません。

EXPLAIN は次のようになります。

ここに画像の説明を入力

誰にもアイデアがありますか?

なぜこれはとても遅いのですか?

4

1 に答える 1

1

これを使って

     ORDER BY `ID`

およびCAST(Xではない順序でas UNSIGNED)選択した場合に使用します。X

于 2013-08-27T09:40:29.630 に答える