现在需要用 python 对 mysql 数据库进行读写, 具体用到的语句是:
insert into talbe(,,,,,) values(,,,,)
on dupicate update
c=c+1 。。。。
也就是说每一次的数据库的操作涉及到 查询并插入 或查询并修改 环节。。
想问一下我现在有 2000 个的文本文件,每个文件有 2 万行,按行读取并操作,如果想达到 合适的效率
我应该选择使用多线程还是多进程 进行读写 并操作数据库呢?
谢谢!~
另外如果做得话,有没有参考的文档或者代码,谢谢!~
1
Septembers 2016-12-30 20:44:05 +08:00
|
2
anonymoustian OP @Septembers 但是我还要对这些数据进行一些程序上的过滤~,应该怎么办呢
|
3
Septembers 2016-12-30 20:56:51 +08:00
@anonymoustian 如果你的目标是快速导入的话并且不强调数据的关联性
可以吧数据处理好成 csv 然后倒入之 如果数据存在关联性则是直接结构化成 csv 然后写 SQL 处理 如果你要坚持采用你现有方案导入速度难以提升 |
4
lbp0200 2016-12-30 21:03:09 +08:00 via Android
@anonymoustian 过滤完,存 csv ,再导入
|
5
anonymoustian OP @lbp0200 好的 谢谢
|
6
anonymoustian OP @Septembers 好的 谢谢
|
7
anonymoustian OP @Septembers 谢谢
|
8
q397064399 2016-12-31 09:19:02 +08:00
多线程 多进程 应该不是问题,反正是写时拷贝,资源上没问题,
数据上 注意保持事务一致性,就可以了 |
9
ytmsdy 2016-12-31 16:48:29 +08:00 via iPhone
控制好事务就可以了!
|
10
anonymoustian OP @q397064399 能详细说一下事务的一致性吗?
|
11
q397064399 2017-01-01 15:59:12 +08:00
@anonymoustian 百度搜吧 事务很简单的,一般应用数据系统 事务是基础
|