2011-10-14 89 views
0

我有一個主表,我需要將數據從其中複製到其他表。整個想法是,我必須複製到的表的名稱是動態的(它類似於foo +主表中的某一列)。將數據從一個表複製到另一個表的最佳方法

舉例來說,如果我有:

INSERT INTO maintable (id, addtoname, somedata) VALUES (1, 234, 'foo data'); 

我需要複製的數據:othertable234(somename + addtoname列)

我試過MYSQL觸發器,但經過一番研究,我發現,不允許有動態表名稱。

我想到的另一件事是建立一個PHP守護進程腳本,每1-10分鐘複製一次數據。但我擔心內存和性能問題。

那麼,對你來說什麼是解決這類問題的最佳解決方案呢?

+1

這樣做的目的是什麼? – xdazz

+0

我正在使用的系統是一個擁有1000多個工作站的GPS跟蹤系統。來自GPS小工具的所有數據都被插入到主表中。所以我決定爲每個工作站分配一張表(用於讀取數據)會更快。問題是我正在做系統的更新版本,我必須保留以前的工作,所以人們仍然可以使用舊的 –

回答

1

您可以使用任何腳本語言來執行此操作,並使用調度程序(cron,Windows調度程序)每10分鐘運行一次。實際的腳本只需要發出一個

create table tablename SELECT ... 

所以唯一的複雜性是表名將如何派生。

+0

當表已經存在時,您可以執行INSERT INTO tablename SELECT ... FROM maintable WHERE ... –

相關問題