Хм, <<<SQL первый раз вижу.
А так часто сам использую такую запись:
$var = <<<HTML
тут можно писать чистый html код, без экранирования кавычек
HTML;
Возьмите готовый плагин на Jquery, если не ошибаюась называется table sorter или как-то так. Настраивается элементарно.
Крупным порталам многое позволено из того, за что могут наказать маленькие, никому не известные сайты.
К 500 ошибке иногда еще приводит сохранение файла в UTF-8 BOM (а надо без BOM).
Тогда ошибка 500 возникает в файлах, где есть php header.
Новые поля вроде обычно не часто добавляются в базу, особенно скриптами, в приницпе время нормальное для 2,5М записей, завист еще от мощности сервера и как правильно сказали hdd или ssd дисков.
Может проверять еще дополнительно внутри функции $( window ).resize(function()
Соотношение ширины и высоты и если они изменились выполнять действие?
Можно на jquery попробовать сделать.
Плашку конечно отдельно вывести. Изменения в плашке писать в доп. поле с id (наверняка оно там уникальное). И тем же jquery спрятать это поле, чтобы его не было видно.
В очередной раз обратился к ТС за обменов. Все отлично, всегда онлайн, быстро и без проблем, всем рекомендую!