要从多个excel中读取数据来填充一张空的person表,person表有name, sex, age, address...等字段,字段固定。
所有excel行数相同,相同行号的内容视作同一个person对象的属性,每个excel包含字段中的若干项,excel字段可能重复。
实际情况和这个例子差不多,我之前的做法是按照一个excel去insert,其它的excel执行update,现在由于数据量增大,性能下降非常严重,请问有什么提升性能的好办法?
如果是sqlserver不是有自带的导入功能么?
需要频繁的重复上面的操作,全程非人工操作,数据库用的也是SQLite
SQLite? 为什么不换个SQL Server或MySQL试下?
你的数据量有多大?首先有几步:1.先把数据读到内存里。2.可以通过定时器分批插入与更新数据,每次5000条差不多。3.更新与插入的sql使用批量操作(不要一条一条的,那样很慢)。
数据量大概400万,已使用事务提交。
性能下降 —— 这跟一条一条插入有什么关系。
数据量大还用sqlite~~慢是必然的。这就像你吃饼,你开始吃吃得快,然后连续吃了几个,然后你用后面吃饼的速度说你吃饼的速度不行 —— 你都撑着了能吃得快吗?——当然性能肯定下降了。所以你无论是一口一口的吃,还是两个两个的吃 —— 吃到一定程度,你肯定撑,撑起了肯定吃得慢。
客户端软件,不需要网络,所以选择sqlite