用户每天将考勤数据导出为文本文件,那么是不是每天都要在程序中读取文本文件记录行还是只在月底读一次,该如何处理

用户每天将考勤数据导出为文本文件,那么是不是每天都要在程序中读取文本文件记录行还是只在月底读一次
用户每天将考勤数据导出为文本文件,那么是不是每天都要在程序中读取文本文件记录行还是只在月底读一次?
数据量大的话读文本文件会不会影响运行速度?
每天都insert数据库表那如果不注意每天导入多次,一个月下来某个人某一天的刷卡记录可能会有很多重复记录的,怎么办?
这些原始的考勤数据在数据库中保留多长时间,因为按2000人一天打4次卡一年的数据就有300万条啊

------解决方案--------------------
可以自动保存,每天打开软件后读取文本文件检测之前一天是否保存,如未保存,则执行保存。
检测是否前一天是月末,如是月末,则执行正月信息保存。

怎么会有重复记录呢?每天打开的时间都是不同的。

数据量大的话,可以设置每几个月自动执行一次备份,然后清空数据。~
------解决方案--------------------
重复没关系,考勤时间不是有有效范围的么(比如早上打卡是7:00-9:00),多个时间中取一个最前的就行了。

如果考勤一个月做一次,那你就保存2-3个月

------解决方案--------------------
如果2000人打卡的单位肯定得上好的设备了。你可以每个月创建一张表。

应该是每天有一个文件吧。每次导入时应该有导入记录,那些文件导了,那些没有导。

或者检查这个文件中的前几行是否导过了来确定这个文件是否导了。
可以在每天晚上一个固定时间进行数据导入。导入完成后就将这个文本文件移动到其它的目录。

------解决方案--------------------
如果你用oracle数据库,可以用分区
如果是其它数据库,可以将前面的数据另外考入备份表,并将它在工作表中的数据清除
------解决方案--------------------
如果考勤记录只是上下班时间,2000人*4*365 的数据库不会很大,如果有拍照的记录,得定期清理下
------解决方案--------------------
可以这样设计:
1、数据table每月新建一个,设计会计区间
2、每天定时从考勤机读取前一天记录,自动生成以日期为文件名的文本文件。
3、根据会计区间,月底进行自动批量导入。