sql >> Database >  >> RDS >> Mysql

Trage subquery in MySQL

Het is geen subquery die traag is. Het is een feit dat u deze subquery's uitvoert voor elke rij die wordt geretourneerd door de buitenste query. Verplaats deze in plaats daarvan naar joins en je zou een verbetering in de prestaties moeten zien.

SELECT 
  jobs.jobs_id, clients.nome_fantasia, concat_ws(' ', user_profiles.first_name, user_profiles.last_name) as fullname, 
jobs.titulo_vaga, jobs.qtd_vagas, company.name as nome_company, jobs_status.name as      status_name, DATEDIFF(NOW(), jobs.data_abertura) as date_idade, 
qtd.qtd_int,
fechadas.fechadas 
FROM (jobs)
JOIN clients ON lients.clients_id=jobs.clients_idJOIN user_profiles ON jobs.consultor_id=user_profiles.user_id
JOIN jobs_status ON jobs.status=jobs_status.jobs_status_id 
JOIN company ON jobs.company_id=company.company_id 
JOIN (
  SELECT jobs_id, count(jobs_id) AS qtd_int FROM job_cv GROUP BY jobs_id
) AS qtd ON qtd.jobs_id = jobs.jobs_id
JOIN (
  SELECT job_cv.user_id, count(distinct job_cv.user_id) AS fechadas
  FROM job_cv_history 
  JOIN job_cv 
  ON job_cv.job_cv_id = job_cv_history.job_cv_id 
  WHERE job_cv_history.status = '11'
  GROUP BY job_cv.user_id
) AS fechadas ON job_cv.jobs_id = jobs.jobs_id
LIMIT 50


  1. CakePHP Pagineringtelling komt niet overeen met zoekopdracht?

  2. PostgreSQL-waarde uit vorige rij gebruiken als deze ontbreekt

  3. Invoegen in een MySQL-tabel of bijwerken indien aanwezig

  4. Procedure:trigger maken voor automatische update gewijzigde datum met SQL Server 2008