В MemSQL нет встроенной функции TTL.
Мы достигли TTL, добавив дополнительный столбец TS в нашу таблицу MemSQL Rowstore с типом данных TIMESTAMP(6).
Это обеспечивает автоматическую вставку текущей метки времени при добавлении новой строки в таблицу.
При запросе данных из этой таблицы вы можете применить простой фильтр, основанный на этом столбце TIMESTAMP, чтобы отфильтровать более старые записи за пределами вашего значения TTL.
https://docs.memsql.com/sql-reference/v6.7/datatypes/#time-and-date
У вас всегда может быть пакетное задание, которое может выполняться один раз в месяц и удалять старые данные.
мы не видели никаких проблем из-за фрагментации, но вы можете время от времени делать следующее, если фрагментация вас беспокоит:
Распределители памяти MemSQL со временем могут стать фрагментированными (особенно, если большая таблица резко сжимается из-за случайного удаления данных). В настоящее время нет доступной команды, которая их сжимает, но выполнение ALTER TABLE ADD INDEX с последующим ALTER TABLE DROP INDEX сделает это.
Предупреждение С этим обходным решением следует соблюдать осторожность. Планы будут перестроены, и два запроса ALTER будут дважды перемещать все ходы в таблице, поэтому это не следует использовать так часто.
Ссылка: https://docs.memsql.com/troubleshooting/latest/troubleshooting/
person
Dean Jain
schedule
30.11.2018