I have this query:
$sql = "SELECT 
    catalogs_values.name as word, catalogs.name as catalog
FROM
    catalogs_values
        INNER JOIN
    catalogs ON catalogs_values.catalog_id = catalogs.id
WHERE
    catalogs_values.id NOT IN (SELECT 
            valueid
        FROM
            monitor
        WHERE
            userid = $user_id)
        AND catalogs_values.checked = 0
ORDER BY RAND()
LIMIT 1";
In my table I have about 1 million records and my query is very slow. Can you suggest some improvements to it?
 
     
     
     
     
     
    