我在文件中有70 Million
个记录,我必须读取所有记录并将其插入MYSQL
数据库。我需要大约2 days
来插入所有数据,问题是现在我必须在将它们添加到数据库之前添加一些条件。但是当我添加条件时,需要更多天才能完成。此过程已完成every week
。因此,如果在7天内每周阅读和排序数据需要4天,那么将不会使用它。
是否有任何快速的原因,以便花费更少的时间来阅读数据。
当前文件大小:500MB
主要条件是,当我读取数据并且不满足要求时,那个数据存储在另一个表中。
I have an other option as well for this.
如果不这样做的话。我必须在插入后在前端显示数据。让我们假设没有快速的方法来最小化时间。所以在插入所有数据之后,我必须在每页front-end
和100
条记录上显示这些数据,所以我是否有任何方式在分页中表明它只会显示100条记录要求和下一个100
肉类要求。
假设我读了100
记录,而在100中只有80条记录符合我的要求。因此,第一页必须提取20
更多记录,这符合我的要求。
以下是数据的示例以及它如何显示工作
master_account_number,sub_account_number,current_balance,first_name,last_name,city,state,zip,client_id
01-962040041,01-000050003,11.25,IRENE,AULTMAN,MICHELLVILLE,MD,20721,000969
我需要每行都有这种格式。如果任何field is empty
它将被视为bad data
并存储在其他表中。或者,如果数据的格式不匹配,那么它也被视为bad data
。如果余额为zero
,那么还有不良数据,以及更多条件。
我正在使用
Codeigniter
IIS 7 Server
MYSQL
将所有数据存储为字符串
我使用此查询将数据加载到DB
。
LOAD DATA INFILE 'C:\\inetpub\\wwwroot\\www.suburbancredit.com\\csv\\atest.csv'
INTO TABLE accounts
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(`accountNumber`, `caseNumber`, `current_balance`, `first_name`, `last_name` , `city`, `state`, `zip`, `client_id`)