Вторая слева кнопка - это вот она и есть, "выполнить без входа в функцию". Просто вы брэйкпоинт поставьте не на вызове генератора (строка 66), а на строке 65. Или на строке 67, если вам нужно проверить работу onclick-функции, а не её генераци.
Включите режим полного отображения полей, а то в первом варианте поле Extra обрезалось. Кроме того непонятно, а где данные для class_slugs?
И 2500 вместо 80000 - это и есть выигрыш от использования индекса.
Можно еще перенести одно условие из WHERE в INNER JOIN.
Просто сохраняй где-нибудь на диске файл с результатом работы (HTML), и если с момента последнего изменения файла прошло больше 59 секунд - генерируй и записывай и отдавай пользователю новый HTML. А если меньше 60 секунд - просто выводи содержимое файла (там же HTML?).