本文主要是介绍多进程操作mysql,实现快速写入千万数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MySQL写入优化思路
MySQL的写入操作语句:sql = 'insert into table_name(column_name) values()'
为了使插入速度变快,我们可以实行批量插入:sql = 'insert into table_name(column_name) values(v1),(v2),(v3),(v4),(v5);'
在python里就是拼接sql语句实现批量插入。
当然,python还有一种情景可以提高插入速度,那就是通过批量提交的方法,因为python操作MySQL是通过游标cursor的,而每次插入操作最终还需要提交给服务器,即conn.commit(),这时,我们可以等插入操作进行很多次之后再进行提交,这样也可以提高效率。
1.单进程写入操作(可以直接在jupyter操作)
import mysql.connector
import gc
import time
'''千万数据用时80s'''
class ten_million_mysql():def __init__(self):self.config={'host':'localhost','port':'3306','database':'bzhan','user':'root',"password":'12345678','charset': 'utf8','use_unicode': True,'get_warnings': True}self.x = 'ahsdgiquiwqdhakjsdahdqow;krpwoemvfdklmvxzcplciopriewr3489jfdsfjkscnsajcbhzxxcmvfccnmcvriwroeworqwpoodsklmczcmjrhggnfjvx'*100000self.conn = mysql.connector.Connect(**self.config)self.cur = self.conn.cursor()def insert_mysql(self, left, right):print(1)def name_space(l, r):for
这篇关于多进程操作mysql,实现快速写入千万数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!