Сломается ли мой сайт, если я удалю все временные записи из таблицы wp_options?
В настоящее время на моем сайте есть огромное количество временных записей (более 500 тысяч) в таблице wp_options. Это приводит к частым сбоям таблицы и, соответственно, моего сайта.
Я думал, что временные записи должны истекать через определенное время.
Я пока не уверен, какие плагины ответственны за это и что пошло не так.
Однако я не хочу, чтобы мой сайт так часто давал сбои.
Количество записей в таблице wp_options
резко увеличилось до более чем 200 тысяч несколько недель назад, а сейчас превышает 500 тысяч.
Стоит ли мне удалить только записи %transient_timeout%
- их сейчас более 200 тысяч?
Буду признателен за любую помощь.
Обновление от 16 июля 2012
Я на самом деле рискнул (предварительно сделав резервную копию сайта) и удалил все временные записи, и с тех пор база данных моего сайта ни разу не дала сбоев :)
Спасибо всем еще раз!

Я использовал:
DELETE FROM `wp_options` WHERE `option_name` LIKE ('%\_transient\_%');
для очистки с отличными результатами :)

Это довольно исчерпывающий набор ответов о транзиентах (временных данных)

Транзиенты, как правило, являются временными данными. Так что если разработчик, который использовал такие данные, сделал это правильно, у вас не должно быть проблем. Однако мои знания по этой теме ограничены, и у меня самого не так много опыта работы с ними.
Лучший вариант для вас — это сделать резервную копию базы данных, удалить данные, которые, по вашему мнению, вам не нужны, а затем протестировать сайт. Если ваш сайт активно посещается, обязательно проводите тестирование на локальной копии, чтобы никто не пострадал во время проверки.

Транзиенты — это временные настройки, которые хранятся в базе данных в течение определённого периода времени, то есть они удаляются, когда их назначение завершено.
Например: Транзиент _site_transient_update_plugins
. Он содержит информацию о плагинах, для которых доступны обновления. Если удалить этот транзиент и обновить админ-панель, вы обнаружите его снова в базе данных. Таким образом, даже если удалить транзиент, WordPress автоматически воссоздаст его. Это не сломает ваш сайт, но может привести к неожиданным последствиям! Обязательно создайте резервную копию базы данных перед удалением любых транзиентных значений.

Вот простая функция для очистки всех временных данных (transients) и их таймаутов — добавьте дополнительные условия по мере необходимости.
function clear_transients()
{
global $wpdb;
// удалить все временные данные с указанным "пространством имен"
$sql = "
DELETE
FROM {$wpdb->options}
WHERE option_name like '\_transient\_namespace\_%'
OR option_name like '\_transient\_timeout\_namespace\_%'
";
$wpdb->query($sql);
}

Транзиенты (transients) предназначены для временного хранения данных, но если разработчик допустил ошибку в коде, то после удаления всех транзиентов вам может потребоваться пересохранить настройки темы/плагина/виджета, чтобы воссоздать транзиенты. В большинстве случаев это не проблема, и вы спокойно можете удалить все транзиенты на сайте.
После удаления транзиентов ваша тема и плагины должны будут заново создать транзиенты, от которых они зависят. Это вызовет временное снижение производительности сразу после удаления транзиентов, после чего сайт должен работать немного быстрее, так как ненужные транзиенты, которые могли накопиться в вашей базе данных, теперь удалены.
