2015-09-18 57 views
1

我有一個非常小的memsql實例,它總共有200個表200MB數據。 Plancachedir保持完整的文件系統(25GB +)。我試圖關閉數據庫,刪除plancachedir下的文件。但重新啓動數據庫後,所有文件都回來了。 「show plancache」顯示0項,所以沒有計劃被刪除。memsql如何從plancachedir釋放空間

有人會告訴我管理plancachedir空間消耗的最佳方法嗎?

在此先感謝。

回答

0

因此,如果您可以關閉計算機並刪除plancache目錄,請在關閉服務器並刪除plancache之前,在每個數據庫上運行SNAPSHOT <db_name>。 否則,查詢將針對您在恢復期間運行的每個寫入查詢和更改表重新編譯。

25演出很多,但...

說實話,MemSQL並不爲許多1兆歐表的情況下優化... 根據您的使用情況下,它可能是值得研究我們JSON數據類型,或重新考慮你的模式。

+0

值得一提的是;每個節點都有自己的plancache。如果您正在運行cluster-in-a-blox,則安裝目錄中至少會有兩個MemSQL安裝,每個安裝都有自己的plancache。 –

+0

感謝您回答我的問題。這非常有幫助。我爲每個數據庫做了快照並關閉了,刪除了plancachedir,重新啓動了數據庫,但是這個空間並沒有釋放太多。我注意到空間消耗是由多個表引起的 - 每個新表在創建後立即消耗大約150MB。所以我想這只是MemSQL的一個功能,我應該爲其規劃更多的空間。 –