Одно все-таки не понятно: по какой причине страница на несколько секунд подвисает. Неужели из-за того, что js полученные данные на страницу вставляет ? Так их, по сути, не так уж и много.
Даже если в запрос поставить LIMIT 0,50 - все равно около двух секунд "висит". Ерунда какая-то