Просматривая код, кажется, что вы отображаете вопрос, а также все его комментарии?
$question_id = $_GET['question'];
SELECT id,username_id,question_id,comment,comment_date
FROM `user.comments`
WHERE `question_id` = $question_id
AND is_reply_from_comment_id = '0'
ORDER BY id
foreach result
{
SELECT id,username_id,comment,comment_date
FROM `user.comments`
WHERE is_reply_from_comment_id = $comment_id
ORDER BY id
}
Для здравомыслия ваших пользователей, вы должны наложить ограничение наколичество комментариев, отображаемых одновременно.
Замена INDEX(is_reply_from_comment_id)
на INDEX(is_reply_from_comment_id, question_id)
поможет первому SELECT
, не повредив второму.
Вы понимаете, что схема ограничивает таблицу дотолько 32K строк? (Похоже, вы скоро достигнете этого предела.)