我有一个VBA程序,它将excel文件分离并保存到48个不同的.csv文件中,然后将这些文件加载到48个不同的表中。我使用“加载数据本地雏形”来完成这一任务,直到大约2周前,它一直运行得非常好,而且非常迅速。
突然间,每一个“rs.open.”实际上,我将查询发送到MySQL的行花费了大约4-5秒,而不是过去的1秒,这大大增加了遍历每个完整文件所需的时间。
我仍然没有明确指出真正的问题,但它确实让我思考:更好的计算机硬件会显着地加快这个过程吗?我有4G的内存和3.2GHz的处理器,所以我的电脑不是很糟糕,但它可能会更好。
问题
发布于 2011-12-28 23:09:53
我想就LOAD DATA INFILE提出一些建议:
您需要增加散装 (例如256米),因为为适应数据的加载,创建了一个特殊的树结构。即使使用LOAD数据INFILE,在将数据加载到非空表时也使用树结构。
根据MySQL在bulk_insert_buffer_size上的文档:
MyISAM使用一个特殊的类似树的缓存使批量插入的速度更快。选择插入..。将数据添加到非空表时,值(.)、(.)、.和加载数据INFILE。此变量限制每个线程缓存树的大小(以字节为单位)。将其设置为0将禁用此优化。默认值为8MB。
发布于 2011-12-29 16:45:35
我真的很怀疑你是不是被CPU束缚了。这可以很容易地被确认或拒绝通过观看顶部(或过程经理?)在窗户里)。更多的内存和更快的硬盘很可能是您希望在DB服务器上改进的硬件方面。
https://dba.stackexchange.com/questions/9890
复制相似问题