如何使用pyodbc加快向MS SQL Server进行批量插入的速度
- 论坛
- 如何使用pyodbc加快向MS SQL Server进行批量插入的速度
7 浏览
如何使用pyodbc加快向MS SQL Server进行批量插入的速度
以下是我需要帮助的代码。
我需要运行它超过130万行,这意味着插入大约30万行需要40分钟。
我想通过使用批量插入来加快速度,是否可行?
或者是因为我通过for data in reader:
迭代行部分导致的?
#打开准备好的csv文件 with open (os.path.join(newpath,outfile), 'r') as f: #将csv读取器链接到文件 reader = csv.reader(f) #提取列名(与SQL表匹配) columns = next(reader) #去除额外的空格 columns = [x.strip(' ') for x in columns] #开始SQL语句 query = 'bulk insert into SpikeData123({0}) values ({1})' #将列名放入SQL查询 'query' query = query.format(','.join(columns), ','.join('?' * len(columns))) print '查询语句为:%s' % query #从cnxn开始游标(有效) cursor = cnxn.cursor() #逐行上传数据 for data in reader: cursor.execute(query, data) cursor.commit()
我有意动态选择列标题(因为我想创建最具Python风格的代码)。
SpikeData123是表名。