Zahrnují vaše dotazy ORDER BY … LIMIT? doložky?
Pokud zadáte ORDER BY … LIMIT za UNION , použije se na celý UNION a indexy v tomto případě nelze použít.
Pokud id je primární klíč, tento dotaz bude okamžitý:
SELECT *
FROM table
ORDER BY id
LIMIT 1
, ale tento nebude:
SELECT *
FROM table
UNION ALL
SELECT *
FROM table
ORDER BY id
LIMIT 1
Zdá se, že je to také způsobeno ORDER BY . Třídění menší sady je rychlejší než větší.
Potřebujete výslednou sadu seřadit?
Pokud ne, stačí se zbavit posledního ORDER BY .