mitaichik
@mitaichik

Как в InnoDB сделать так, чтоб после удаления строки она реально удалялась с диска?

Всем привет!

Юзаем Mysql c InnoDB. Нужно чтоб после удаления строки из таблицы запись о ней удалялась из файла таблицы (у нас настроенно файл на таблицу) + удалялись все записи о ней из журналов транзакций. В общем, нужно после удаления все чистить, как буд-то ее и небыло никогда.

Реально ли такое сделать? Если нет - может знаете хранилища, которые могут так сделать?
  • Вопрос задан
  • 621 просмотр
Решения вопроса 3
@shagguboy
если грохать это только из датафайлов, то такое спокойно делается триггером, который заменяет данные мусором, правда просаживает удаление/обновление вообще в сингулярность.

данные из журналов наката/отката вообще удалить нельзя. максимум что можно это сделать их маленькими, чтобы данные перезаписывались чаще, но это угробит производительность еще больше, и сильно повысит риск получить убитую базу при нештатной ситуации.
Ответ написан
Комментировать
@ldvldv
Храните данные в зашифрованном виде, а ключ к расшифровке в MyISAM таблице. После удаления (предварительно перезаписав ключ мусором) ключа из MyISAM получить данные будет невозможно.
Ответ написан
@wukibuh
Не предусмотрено.

Так как заточено на скорость - удаленные данные не удаляются (это затраты времени), а только переиспользуются (когда-нибудь).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
Если не критично хранение после ресета - редис.
Ответ написан
Arris
@Arris
Сапиенсы учатся, играя.
OPTIMIZE TABLE `xxx`; ?

Да, я знаю, что оптимайз не поддерживается InnoDB :)
Но в консоли mysql пишет:
Table does not support optimize, doing recreate + analyze instead

И если я правильно понимаю логику - он пересоздает файл (если конечно каждая таблица InnoDB хранится в отдельном файле) с новым содержимым.

P.S. Да, я правильно понимаю логику. Я проверил ;-)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы