我有表(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应用程序的经验,我需要你对处理数据的意见,因为我需要保存这些数据并进行年度报告。
答案 0 :(得分:0)
在一周之后从你'普通'表中移动数据你可以使用insert into .. select语句,如下所述:http://dev.mysql.com/doc/refman/5.0/en/insert-select.html
如果要保留原始表中的相同ID,可以在名为WeekId的第二个表中添加一个额外的列。
话虽如此,我同意Namphibian的说法,如果你将数据保存在原始表中一年然后删除它(它只会是大约10万条记录),这可能不会有问题。