Mysql
 sql >> база данни >  >> RDS >> Mysql

ПОРЪЧАЙТЕ ПО състояние

UNION означава UNION DISTINCT и това е сравнително бавно, тъй като ще проверява за дубликати, въпреки че няма да има такива. Искате 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

Предполагам, че след тази промяна няма голяма разлика в производителността между трите заявки. Най-добрият начин да сте сигурни е да го измерите.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL :Използване на целевата таблица в оператор UPDATE във вложена клауза FROM

  2. Как мога да огранича размера на временните таблици?

  3. Mysql изберете Заявка с множество условия от една и съща колона

  4. Извикване на PHP скрипт от MySQL тригер

  5. Докато импортирате mysqldump файл ГРЕШКА 1064 (42000) близо до „ ■/“ на ред 1