Selección aleatoria más rápida DONDE la columna X es Y (NULL)

Actualmente estoy 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

Esto suele ser extremadamente rápido, sin embargo, cuando incluyo la columna resaltada_x como condición Y (nula), se vuelve lenta.

¿Cuál sería la solución de consulta aleatoria más rápida donde la columna X de los registros es nula?

ID es PK, la columna X es int (4). La tabla contiene aproximadamente un millón de registros y más de 1 GB de tamaño total que se duplica cada 24 horas actualmente.

column_x está indexado.

La ID de columna no puede ser consecutiva.

El motor DB usado en este caso es InnoDB.

Gracias.

Respuestas a la pregunta(4)

Su respuesta a la pregunta