将数据从一个表移动到另一个表并进行年度报告

时间:2014-01-15 20:45:47

标签: mysql

我有表(MySQL),我在其中保存来自客户端应用程序的输入。

一切都很好但每天在该特定表中应该有超过2000个输入,并且这些数据将仅在一周的时间内被查询和处理。

我从未处理过必须存储此数据量并持续较长时间(年)的应用程序。

在一段时间后存储数据的最佳和最有效的方法是什么: 在示例中,我需要在表中保存一些数据一周,在那一周之后我不需要该表中的数据,但我仍然可以在需要时检索该数据。

你们如何处理这些数据呢?

将其存储在具有新AI ID的其他表中?如果是的话,我应该使用什么MySQL查询将数据从这个表移动到另一个表,这是我的表模式:

CREATE TABLE IF NOT EXISTS `tblpc` 
( 
    `idpc` varchar(45) NOT NULL,
    `tr` varchar(45) DEFAULT NULL,
    `br` varchar(45) DEFAULT NULL,
    `nt` varchar(45) DEFAULT NULL,
    `nd` varchar(45) DEFAULT NULL,
    `po` varchar(45) DEFAULT NULL,
    `qw` varchar(45) DEFAULT NULL,
    `user` varchar(45) DEFAULT NULL,
    `time` varchar(255) DEFAULT NULL,
    `stats` varchar(45) DEFAULT NULL,
    PRIMARY KEY (`idtickets`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

我使用PHP和VB.NET只是为了让你知道,但如果你有使用POS应用程序的经验,我需要你对处理数据的意见,因为我需要保存这些数据并进行年度报告。

1 个答案:

答案 0 :(得分:0)

在一周之后从你'普通'表中移动数据你可以使用insert into .. select语句,如下所述:http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

如果要保留原始表中的相同ID,可以在名为WeekId的第二个表中添加一个额外的列。

话虽如此,我同意Namphibian的说法,如果你将数据保存在原始表中一年然后删除它(它只会是大约10万条记录),这可能不会有问题。