我們在過去的6年中在我們的生產環境中運行了Orbeon Form 4.6 PE。我們有大約200個表格,我們的orbeon_form_data_attach
現在增長到15 GB。我們一直在考慮如何將此表中的記錄存檔,並刪除早於6個月創建的記錄。由於表格尺寸不斷增大而刪除'orbeon_form_data_attach'中的記錄
以下是我們在生產數據庫副本中嘗試的查詢,該查詢將此表大小從15 GB降至6 GB。
DELETE orbeon_form_data, orbeon_form_data_attach
FROM
(
SELECT document_id
FROM orbeon_form_data
WHERE app <> 'orbeon' AND
form <> 'builder' AND
last_modified_time <= DATE_SUB(curdate(), INTERVAL 6 MONTH)
) as deletions
INNER JOIN orbeon_form_data
ON deletions.document_id=orbeon_form_data.document_id
LEFT JOIN orbeon_form_data_attach
ON orbeon_form_data.document_id = orbeon_form_data_attach.document_id ;
我們的應用程序與Orbeon Forms集成並從Orbeon數據庫使用數據不需要6個月前提交的表單數據。
如果我們繼續在我們的Production中進行查詢,我們是否真的想知道Orbeon應用程序本身有任何可能的副作用。
嗨亞歷克斯, 感謝您的詳細反饋。我們主要關心的是應用程序數據庫大小 總數據庫大小:25 GB Orbeon表格附件表:15 GB 我們嘗試刪除過去僅刪除的數據,在數據庫大小方面沒有任何重大收益。 根據我們的應用程序設計,我們解析並堅持包含Orbeon表單數據和附件,這導致我們想出 刪除所有Orbeon數據和附件,這些數據和附件都是6個月或更長時間。 我們將運行您在我們的生產數據庫副本中提到的查詢,併發布結果。 謝謝 – BAhmed786
嗨Bilal,明白了,如果2個「保守」查詢爲您刪除了足夠的數據,您會讓我知道。如果沒有,我們會提出一個更新版本的查詢,它沒有上述「第1點」中提到的問題。 – avernet
嗨亞歷克斯, 這是生產數據庫保守查詢的結果。 查詢1:返回0行。 原因:此查詢刪除通過Orbeon UI(Form Builder或Form Runner)刪除的記錄,但我們沒有任何用例。 查詢2:返回7行。 – BAhmed786