sql >> Database >  >> RDS >> Mysql

BESTELLEN OP voorwaarde

UNION betekent UNION DISTINCT en dit is relatief traag omdat er wordt gecontroleerd op duplicaten, ook al zijn die er niet. U wilt UNION ALL:

SELECT *, 0 AS head FROM foo WHERE id IN (1,2,3) 
UNION ALL
SELECT *, 1 AS head FROM foo WHERE id NOT IN (1,2,3)
ORDER BY head, created_date

Ik kan me voorstellen dat er na deze wijziging niet veel verschil in prestatie is tussen de drie queries. De beste manier om er zeker van te zijn, is door het te meten.



  1. Stel het gegevenstype van een cel expliciet in als tekst voor getalwaarden

  2. Fout bij het maken van een back-up met mysqldump in de mysql-opdrachtregel

  3. Bewaar PHP-code op MySQL en laat het draaien

  4. Een alias van een database maken in SQL Server