memsql как освободить место из plancachedir

У меня есть очень маленький экземпляр memsql, в котором всего 200 таблиц 200 МБ данных. Plancachedir продолжал заполнять файловую систему (25GB+). Я пытался отключить базы данных, удалил файлы в plancachedir. но после перезапуска базы данных все файлы вернулись. «show plancache» показывает 0 записей, поэтому планы для удаления отсутствуют.

Кто-нибудь сообщит мне, как лучше всего управлять потреблением пространства plancachedir?

Заранее спасибо.


person Kevin Zou    schedule 18.09.2015    source источник


Ответы (1)


Итак, если вам удобно выключать компьютер и удалять каталог plancache, попробуйте просто запустить SNAPSHOT <db_name> для каждой базы данных, прежде чем выключать сервер и удалять plancache. В противном случае запросы будут перекомпилироваться для каждого запроса на запись и изменения таблицы, которые вы запускали во время восстановления.

25 гигов это много...

Честно говоря, MemSQL не оптимизирован для работы со многими таблицами размером 1 мегабайт... В зависимости от вашего варианта использования, возможно, стоит изучить наш тип данных JSON или переосмыслить свои схемы.

person Joseph Victor    schedule 18.09.2015
comment
Его стоит упомянуть; каждый узел имеет свой планкеш. Если вы используете кластер в блоке, в вашем каталоге установки будет по крайней мере две установки MemSQL, каждая со своим собственным планкэшем. - person Joseph Victor; 18.09.2015
comment
Спасибо за ответ на мой вопрос. Это очень полезно. Я сделал снапшот для каждой из своих баз данных и выключил, удалил планкачедир, перезапустил базу данных, однако места много не освободилось. Я заметил, что потребление пространства было вызвано количеством таблиц — каждая новая таблица потребляла около 150 МБ сразу после ее создания. Так что я думаю, что это просто функция MemSQL, для которой я должен запланировать больше места. - person Kevin Zou; 21.09.2015