Как переписать SQL-запрос?
Индексируй таблицы. Запрос у тебя простой. Не вижу что тут можно оптимизировать
Попробуй WHERE NOT EXISTS
SELECT `question`.* 
FROM `question`
WHERE 
	`question`.`deleted` = 0 AND
	`question`.`moderated` = 0 AND 
	`question`.`published_date` > 0 AND
	NOT EXISTS (SELECT `id` FROM `comment` WHERE `question`.`id` = `comment`.`material_id`) 
ORDER BY `question`.`published_date` DESC 
LIMIT 15;

MariaDB fiddle