जब मैंने देखा कि इसका कोई जवाब नहीं है तो मैं चकित था ... मैं दूसरे दिन ठीक उसी समस्या में भाग गया:कोर का उपयोग करके पोस्टग्रेस आरडीएस इंस्टेंस में लाखों पंक्तियों को थोक-सम्मिलित करने का प्रयास कर रहा था। इसमें घंटे लग रहे थे ।
वर्कअराउंड के रूप में, मैंने अपनी स्वयं की बल्क-इंसर्ट स्क्रिप्ट लिखना समाप्त कर दिया, जिसने स्वयं कच्चे sql को उत्पन्न किया:
bulk_insert_str = []
for entry in entry_list:
val_str = "('{}', '{}', ...)".format(entry["column1"], entry["column2"], ...)
bulk_insert_str.append(val_str)
engine.execute(
"""
INSERT INTO my_table (column1, column2 ...)
VALUES {}
""".format(",".join(bulk_insert_str))
)
बदसूरत होने पर, इसने मुझे वह प्रदर्शन दिया जिसकी हमें आवश्यकता थी (~ 500,000 पंक्तियाँ/मिनट)
क्या आपको कोर-आधारित समाधान मिला? अगर नहीं, तो उम्मीद है कि इससे मदद मिलेगी!
अद्यतन:मेरी पुरानी स्क्रिप्ट को एक अतिरिक्त ईसी 2 उदाहरण में ले जाना समाप्त हुआ जिसका हम उपयोग नहीं कर रहे थे जो वास्तव में धीमी प्रदर्शन समस्या को ठीक करता था। सुनिश्चित नहीं है कि आपका सेटअप क्या है, लेकिन स्पष्ट रूप से बाहरी (गैर-एडब्ल्यूएस) कनेक्शन से आरडीएस के साथ संचार करने में एक नेटवर्क ओवरहेड है।