У меня есть подозрение что из за большого количества инсертов очередь выполнения сервера набивается запросами и они банально долго выполняются, даже тогда когда вы думаете что все данные обработаны, но она на самом деле еще в только собираются вставится.
Одним инсертом можно ставить несколько строк. Тоесть все тоже INSERT INTO tt(id, tt_id, preview, category, type) VALUES (?,?,?,?,?), только после values через запятую скобки с данными и таким образом зараз по 500-1000 записей, это отработает быcтрей чем 500 одиночных инсертов.
И всетаки рекомендовал перейти таки на InnoDB он понадежней и быстрей выполняет сложные выборки.