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!