السؤال
INSERT...SELECT، يظهر لي خطأ وجود عدد كبير جدًا من الأجزاء (TOO_MANY_PARTS).
كيف يمكنني حل هذه المشكلة؟
الإجابة
100_000_000 (default 1_048_576)
إن زيادة القيمة من ~1M إلى 100M تسمح بتكوين blocks أكبر.
ملاحظة: ينطبق هذا الإعداد فقط عندما يُشكِّل server هذه الـ blocks، أي عند تنفيذ INSERT عبر واجهة HTTP، وليس عند استخدام clickhouse-client
min_insert_block_size_rows = 100_000_000 (default 1_048_576)
إن زيادة القيمة من ~1M إلى 100M تسمح بتكوين blocks أكبر.
min_insert_block_size_bytes = 500_000_000 (default 268_435_456)
إن زيادة القيمة من 268.44 MB إلى 500 MB تسمح بتكوين blocks أكبر.
parts_to_delay_insert = 500 (default 150)
تؤدي زيادة هذه القيمة إلى منع إبطاء عمليات INSERT بشكل مصطنع عند بلوغ عدد الأجزاء النشطة في partition واحدة.
parts_to_throw_insert = 1500 (default 3000)
ستؤثر زيادة هذه القيمة عمومًا في query performance للـ table، لكن ذلك يكون مقبولًا عادةً في حالات migration للبيانات.