Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pertanyaan kinerja kueri SQL (beberapa sub-kueri)

Jika "aktif" adalah yang pertama dalam urutan abjad, Anda mungkin dapat mengurangi subkueri menjadi:

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)

Jika tidak, Anda dapat mengganti baris ORDER BY dengan

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

Ini semua berasal dari asumsi saya di SQL Server, jarak tempuh Anda dengan MySQL mungkin berbeda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WEEKOFYEAR(NOW()) vs WEEK('2018-05-1') - tanggal saat ini

  2. cara menyimpan bahasa India seperti Telugu, Hindi di database mysql

  3. 3 Cara Menemukan Baris yang Mengandung Huruf Besar di MySQL

  4. Perintah python setup.py egg_info gagal dengan kode kesalahan 1 di /tmp/pip-install-fs0wmmw4/mysqlclient/

  5. PHP mySQL - Kapan waktu terbaik untuk memutuskan sambungan dari database?