2、多进程
这个方法其实是上面的方法,比如a我们复制了多个,然后分别叫它
A A1 A2 A3
这里有四种方法,但不能同时读取一个文件吧。 这样,就会出现重复的数据,并且数据库会按下唯一的索引。 你说数据杂乱,没有主键?
我们考虑以这种方式剪切大文件,然后剪切保留linux的split命令。 请参考以下文章。 详细说明
例如,将文件f剪切为F1 F2 F3 F4
然后a方法读F1入库
阅读a1f2入库
阅读a2f3入库
阅读a3f4入库
现在可以启动四个进程。 代码是后附的,但这不是我们要讨论的重点。 我们正在讨论如何解决。 那么,我发现效率提高了,但不太明显。 为什么这么说呢,此时2.5万次连接分为4个进程进行连接,一个进程将2.5w除以4进行连接,虽说同时运行相当于多线程,但他是多线程的。
但是为什么效果很差,是因为数据库中有行级锁定。 虽然同时连接变得高效了,但是对于数据库来说,插入操作是按照队列进行的,对吧?
瓶颈已在数据库的行级锁定,此时已无计可施。