2012-11-19 147 views
0

我需要將我的應用程序歸檔數據,以便用戶可以選擇查看前幾個月的數據。使用php歸檔mysql數據的方法

我想要做的方式是爲每個表格創建一個存檔表格。 table_archive,並使用INSERT SELECT查詢將數據插入到存檔表。 我的問題是,數據庫有超過300個表,將創建300多個表影響我的應用程序的速度?

另一個要求是用戶不應該能夠更改存檔信息,如何鎖定表以禁用用戶以INSERT,UPDATE,DELETE?

有沒有其他更快更簡單的方法來做到這一點。

+0

檔案的目的是什麼?如果要保持數據庫的快速和緊湊性,那麼表分區可能是更好的解決方案。見http://dev.mysql.com/doc/refman/5.1/en/partitioning.html –

+0

目的是讓用戶查看前幾個月的信息 –

+0

對不起,我應該已經更清楚了。爲什麼要將數據移出?是因爲你的桌子變得非常大嗎? –

回答

0

600模式中的表不應該產生性能問題。更大的問題是您要將多少數據包裝到這些表中,以及您如何形成連接和索引。避免寫入很容易。只需撤銷新表中的權限即可。

https://dev.mysql.com/doc/refman/5.5/en/privileges-provided.html

你會想grant select但沒有別的正在訪問這些用戶。