sql >> Databáze >  >> RDS >> Mysql

Otázka výkonu dotazu SQL (více dílčích dotazů)

Pokud je „aktivní“ první v abecedním pořadí, můžete snížit počet poddotazů na:

SELECT p.id, r.status, r.title
FROM page AS p
    INNER JOIN page_revision as r ON r.pageId = p.id AND 
        r.id = (SELECT r2.id 
                FROM page_revision as r2 
                WHERE r2.pageId = r.pageId 
                ORDER BY r2.status, r2.id DESC
                LIMIT 1)

V opačném případě můžete řádek ORDER BY nahradit znakem

ORDER BY CASE r2.status WHEN 'active' THEN 0 ELSE 1 END, r2.id DESC

To vše vychází z mých předpokladů pro SQL Server, vaše kilometry s MySQL se mohou lišit.



  1. Jak optimalizovat ukládání a načítání z velkého seznamu v php?

  2. Jak nainstalovat a nakonfigurovat phpMyAdmin na Debian 8

  3. Zjistit všechny nainstalované verze Oracle

  4. Odeslat objekt json do mysql pomocí jquery/javascript/php?