使用 pyodbc 加速向 MS SQL Server 的批量插入:见解和解决方案
提高向 MS SQL Server 批量插入的效率使用 pyodbc 的表,请考虑利用其 Cursor#fast_executemany 功能的优势。在版本 4.0.19 中引入,此功能优化了插入过程,显着减少了执行时间。
当包含要插入的数据的 CSV 文件驻留在远程客户端而不是托管 SQL Server 实例的本地计算机上时(或可访问的 SMB/CIFS 网络位置),T-SQL BULK INSERT 命令可能不可行。在这种情况下,Cursor#fast_executemany 提供了一个引人注目的替代方案。
演示:
考虑将 1000 行数据插入到“fast_executemany_test”表中的场景。使用默认设置,操作大约需要 22 秒:
<code class="python">crsr.executemany(sql, params)</code>
通过简单地启用 Cursor#fast_executemany via:
<code class="python">crsr.fast_executemany = True</code>
您可以将插入加速到仅仅 1 秒,大幅削减执行时间受到一个重要因素的影响。利用此功能可以简化批量插入并提高数据导入任务的整体性能。
以上是pyodbc 中的 Cursor#fast_executemany 如何加速 MS SQL Server 的批量插入?的详细内容。更多信息请关注PHP中文网其他相关文章!