Selecção aleatória mais rápida ONDE a coluna X é Y (NULL)

Atualmente estou usando:

SELECT * 
FROM 
  table AS t1
  JOIN (
    SELECT (RAND() * (SELECT MAX(id) FROM table where column_x is null)) AS id
  ) AS t2 
WHERE 
  t1.id >= t2.id
  and column_x is null
ORDER BY t1.id ASC
LIMIT 1

Isso normalmente é extremamente rápido, no entanto, quando eu incluo a coluna destacada_x sendo Y (nula), fica lento.

Qual seria a solução de consulta aleatória mais rápida em que a coluna X dos registros é nula?

ID é PK, a coluna X é int (4). A tabela contém cerca de um milhão de registros e mais de 1 GB de tamanho total, dobrando a cada 24 horas atualmente.

column_x é indexado.

O ID da coluna pode não ser consecutivo.

O mecanismo de banco de dados usado neste caso é o InnoDB.

Obrigado.

questionAnswers(4)

yourAnswerToTheQuestion