Mettere la sottoquery nella clausola WHERE e limitarla a n.control_number significa che esegue la sottoquery molte volte. Questa è chiamata sottoquery correlata , e spesso è un killer di prestazioni.
È meglio eseguire la sottoquery una volta, nella clausola FROM, per ottenere la data massima per numero di controllo.
SELECT n.*
FROM tblpm n
INNER JOIN (
SELECT control_number, MAX(date_updated) AS date_updated
FROM tblpm GROUP BY control_number
) AS max USING (control_number, date_updated);