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

MySQL - SELECT WHERE поле В (подзаявка) - Изключително бавно защо?

Подзаявката се изпълнява за всеки ред, защото е свързана заявка. Човек може да превърне корелирана заявка в некорелирана заявка, като изберете всичко от подзаявката, както следва:

SELECT * FROM
(
    SELECT relevant_field
    FROM some_table
    GROUP BY relevant_field
    HAVING COUNT(*) > 1
) AS subquery

Окончателната заявка би изглеждала така:

SELECT *
FROM some_table
WHERE relevant_field IN
(
    SELECT * FROM
    (
        SELECT relevant_field
        FROM some_table
        GROUP BY relevant_field
        HAVING COUNT(*) > 1
    ) AS subquery
)


  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 заявката, еквивалентна на PHP strip_tags?

  2. Как да завъртите схема на MySQL обект-атрибут-стойност

  3. Условна разделена трансформация:Експортирайте данни от SQL Server в Oracle и MySQL бази данни

  4. Надстройте MySQL до MariaDB 10 (Част 1 – Инсталирайте MariaDB 5.5)

  5. Сортиране по ред на стойностите в оператор select в клауза в mysql