mysql数据插入和实体框架导致性能恶化

mysql数据插入和实体框架导致性能恶化,mysql,.net,linq-to-entities,Mysql,.net,Linq To Entities,我从在线游戏API中提取匹配数据,并将详细信息保存到本地托管的mysql数据库中。每个API调用返回大约100个匹配项,我一次插入15个匹配项。对于每个匹配,我在5个表中插入150-250行 我使用了这里描述的优化: 我已经能够每秒插入大约9个匹配项,但是现在我已经保存了204000个匹配项,插入时间已经减慢到每秒2.5个匹配项。我希望从《盗梦空间》开始就保存所有的比赛,大概有3亿多场 我不能使用SqlBulkCopy,因为这是一个mysql数据库 我可以做进一步的优化吗?我想并行化,但我想我仍

我从在线游戏API中提取匹配数据,并将详细信息保存到本地托管的mysql数据库中。每个API调用返回大约100个匹配项,我一次插入15个匹配项。对于每个匹配,我在5个表中插入150-250行

我使用了这里描述的优化:

我已经能够每秒插入大约9个匹配项,但是现在我已经保存了204000个匹配项,插入时间已经减慢到每秒2.5个匹配项。我希望从《盗梦空间》开始就保存所有的比赛,大概有3亿多场

我不能使用SqlBulkCopy,因为这是一个mysql数据库

我可以做进一步的优化吗?我想并行化,但我想我仍然会被DB阻塞


谢谢。

你试过了吗?无论框架有多棒,都无法使用框架插入数亿条记录。即使以每秒9场比赛的速度插入,也需要一年多的时间才能添加。不,我没有,但这可能是一个更好的选择,我没有考虑过。我想我可以将所有调用保存到csv,然后使用它插入所有内容。它还使并行化变得更容易。要想打败
加载数据填充
的原始性能真的很难,它通常比等效的SQL更快。此外,在插入时,如果可以,请禁用索引,并在批量插入结束时重新启用它们。