Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam Pangkalan Data Menggunakan psycopg2?

Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam Pangkalan Data Menggunakan psycopg2?

DDD
DDDasal
2024-11-26 04:09:091064semak imbas

How Can I Efficiently Insert Multiple Rows into a Database Using psycopg2?

Sisipan Berbilang Baris yang Cekap dengan psycopg2

Apabila mengendalikan sisipan pukal ke dalam pangkalan data, ia menjadi penting untuk mengoptimumkan prestasi. Walaupun psycopg2 menawarkan kaedah executemany untuk tugasan ini, pendekatan yang lebih ringkas dan selalunya lebih pantas wujud.

Pendekatan ini melibatkan penggunaan fungsi mogrify() dan menggabungkan pernyataan SQL yang dijana ke dalam satu pertanyaan. Ia memerlukan penciptaan tuple yang mengandungi data untuk dimasukkan. Mari kita pertimbangkan contoh:

args = [(1, 2), (3, 4), (5, 6)]
args_str = ','.join(cursor.mogrify("(%s,%s)", (x, )) for x in args)
cursor.execute("INSERT INTO t (a, b) VALUES " + args_str)

Kaedah ini telah ditunjukkan secara empirik untuk meningkatkan prestasi dengan ketara, terutamanya untuk kumpulan data yang besar. Dalam satu contoh, hanya 10 saat diperlukan untuk memasukkan 2000 baris menggunakan kaedah ini, berbanding 2 minit menggunakan executemany.

Dengan menggunakan teknik ini, pembangun boleh mencapai sisipan pukal yang lebih pantas dengan psycopg2, dengan itu mengoptimumkan operasi penulisan pangkalan data.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Berbilang Baris dengan Cekap ke dalam Pangkalan Data Menggunakan psycopg2?. 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