使用Mysql创建历史表

时间:2016-12-30 09:36:18

标签: php mysql performance codeigniter

我试图用MYSQL创建几个历史表,但性能很糟糕。我可能做得不对。

目前我有以下表格:

id_user     cash_d0     cash_d1   cash_d2  ...  cash_d135
1             1500        800       400    ...     200
2             50          NULL      NULL   ...     NULL

每晚我将当前用户的现金添加到cash_d0,并将cash_d2设置为cash_d1cash_d1cash_d0的值。 ..这个"转移"操作需要很长时间。

有没有办法优化这种换班操作?甚至是建立我的桌子的更好方法?

我需要保留历史超过135天,我有大约10个类似的表,跟踪不同变量的历史记录,每个表有136列。

转换由以下行完成(使用Codeigniter):

$this->db->set('cash_d1', 'IFNULL('cash_d1, 0)' + `cash_d0'`, FALSE);

注意:在第0天创建表时,所有列都设置为NULL,这是我需要处理NULL值的方式。

0 个答案:

没有答案