Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengoptimumkan Kemasukan MySQL Senarai Kamus Menggunakan `executemany` dalam Python?

Bagaimanakah Saya Boleh Mengoptimumkan Kemasukan MySQL Senarai Kamus Menggunakan `executemany` dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-11-10 15:10:03943semak imbas

How Can I Optimize MySQL Insertion of Dictionary Lists Using `executemany` in Python?

Penyisipan MySQL Senarai Kamus yang Cekap Menggunakan executemany dalam Python

Masalah:

Apabila mengikis data daripada jadual web ke dalam pangkalan data MySQL, pendekatan yang tidak cekap digunakan, melibatkan baris individu sisipan. Matlamatnya adalah untuk mengoptimumkan proses ini menggunakan executemany.

Penyelesaian:

Kaedah executemany membenarkan pemasukan berbilang baris data ke dalam jadual pangkalan data sekaligus. Dalam kes ini, data distrukturkan sebagai senarai kamus, setiap satu mewakili baris jadual.

Daripada mengakses nilai kamus secara individu, seperti yang ditunjukkan dalam kod asal, data itu harus dilampirkan. ke senarai dalam format berikut:

itemBank.append((
    tempRow2['Item_Name'],
    tempRow1['Item_Price'],
    tempRow3['Item_In_Stock'],
    tempRow4['Item_Max'], 
    getTimeExtra
)) #append data

Kaedah executemany kemudiannya boleh digunakan dengan yang berikut pertanyaan:

q = """ insert ignore into TABLE1 (
        Item_Name, Item_Price, Item_In_Stock, Item_Max, Observation_Date ) 
        values (%s,%s,%s,%s,%s)           
    """

Menggantikan sisipan baris individu dengan kaedah executemany akan meningkatkan kecekapan proses sisipan pangkalan data dengan ketara.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengoptimumkan Kemasukan MySQL Senarai Kamus Menggunakan `executemany` dalam Python?. 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