Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Kursor#fast_executemany dalam pyodbc Boleh Mempercepatkan Sisipan Pukal ke MS SQL Server?

Bagaimanakah Kursor#fast_executemany dalam pyodbc Boleh Mempercepatkan Sisipan Pukal ke MS SQL Server?

Susan Sarandon
Susan Sarandonasal
2024-11-03 04:42:02869semak imbas

How Can Cursor#fast_executemany in pyodbc Speed Up Bulk Inserts to MS SQL Server?

Mempercepatkan Sisipan Pukal ke MS SQL Server Menggunakan pyodbc: Insights and Solutions

Untuk meningkatkan kecekapan sisipan pukal ke dalam MS SQL Server jadual menggunakan pyodbc, pertimbangkan untuk memanfaatkan kelebihan ciri Cursor#fast_executemanynya. Diperkenalkan dalam versi 4.0.19, ciri ini mengoptimumkan proses penyisipan, dengan ketara mengurangkan masa pelaksanaan.

Apabila fail CSV yang mengandungi data untuk sisipan berada pada klien jauh dan bukannya mesin tempatan yang mengehoskan contoh SQL Server ( atau lokasi rangkaian SMB/CIFS yang boleh diakses), arahan T-SQL BULK INSERT mungkin tidak dapat dilaksanakan. Dalam kes sedemikian, Cursor#fast_executemany menawarkan alternatif yang menarik.

Demonstrasi:

Pertimbangkan senario di mana anda memasukkan 1000 baris data ke dalam jadual "fast_executemany_test". Menggunakan tetapan lalai, operasi mengambil masa kira-kira 22 saat:

<code class="python">crsr.executemany(sql, params)</code>

Dengan hanya mendayakan Cursor#fast_executemany melalui:

<code class="python">crsr.fast_executemany = True</code>

Anda boleh mempercepatkan pemasukan kepada 1 saat sahaja, memotong masa pelaksanaan dengan faktor yang signifikan. Manfaatkan ciri ini untuk menyelaraskan sisipan pukal anda dan meningkatkan prestasi keseluruhan tugasan import data anda.

Atas ialah kandungan terperinci Bagaimanakah Kursor#fast_executemany dalam pyodbc Boleh Mempercepatkan Sisipan Pukal ke MS SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn