1. REPAIR TABLE jos_session обычно решает проблему.
2. Для профилактики можно сделать TRUNCATE TABLE jos_session;
+ рецепт из сети, сам не тестировал, надобности не было.
Если авторизация не используется, можно поставить тип для jos_session -> memory.
jos_session таблица хранится с использованием механизма хранения MyISAM — давайте хранить эту таблицу в памяти с помощью двигателя MEMORY хранения!
Для начала нам нужно изменить тип данных поля, так как двигатель MEMORY хранения не поддерживает BLOB / TEXT столбцы:
ALTER TABLE `jos_session` CHANGE `data` `data` VARCHAR( 5000 )
CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
5000 символов, как правило, достаточно для обработки данных сессии. Теперь давайте изменим двигателя:
ALTER TABLE `jos_session` TYPE = memory
MEMORY MySQL система хранения гораздо быстрее, чем MyISAM. Единственное, что сессии будут потеряны, если сервер не работает — но в 99,9999999999999999999% вам не нужно думать об этом, пользователи достаточно повторно Войти.
http://www.wilox.ru/joomla/oshibka-v-tablice-joomla-jos_session-jos-sessionustranenie-i-eyo-vosstanovlenie-v-mysql.html