Mysql
 sql >> Baza danych >  >> RDS >> Mysql

ZAMÓW WEDŁUG warunku

UNION oznacza UNION DISTINCT i jest stosunkowo powolny, ponieważ sprawdza duplikaty, nawet jeśli ich nie będzie. Chcesz 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

Wyobrażam sobie, że po tej zmianie nie ma dużej różnicy w wydajności między trzema zapytaniami. Najlepszym sposobem, aby się upewnić, jest jego zmierzenie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql_install_db, błąd:35, w systemie Mac OS X 10.9.1

  2. Jaki jest najlepszy sposób na zaimplementowanie wyszukiwania podciągów w SQL?

  3. Migracja Ruby on Rails, dwa klucze podstawowe, ale tylko jeden z automatyczną inkrementacją

  4. Jak zaimportować pojedynczą tabelę do bazy danych mysql za pomocą wiersza poleceń?

  5. ZF2 oczyszcza zmienne dla zapytań DB