Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

إعدادات الجلسة لـ deduplicate_insert_*

تتوفر هذه الإعدادات في system.settings، وهي مُولَّدة تلقائيًا من الشيفرة المصدرية.

deduplicate_insert

النوع
DeduplicateInsertMode
القيمة الافتراضية
enable
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.2enableتفعيل إزالة التكرار افتراضيًا لجميع عمليات الإدراج المتزامنة وغير المتزامنة.

يُفعّل هذا الإعداد أو يعطّل إزالة تكرار الكتل في INSERT INTO (لجداول Replicated*). وينطبق هذا الإعداد على عمليات الإدراج المتزامنة وغير المتزامنة، ويتجاوز الإعدادين insert_deduplicate وasync_insert_deduplicate. ولهذا الإعداد ثلاث قيم ممكنة:

  • disable — تكون إزالة التكرار معطّلة لاستعلام INSERT INTO.
  • enable — تكون إزالة التكرار مفعّلة لاستعلام INSERT INTO.
  • backward_compatible_choice — تكون إزالة التكرار مفعّلة إذا كان insert_deduplicate أو async_insert_deduplicate مفعّلًا لنوع الإدراج المحدد.

بالنسبة إلى استعلامات INSERT SELECT، يُرجع أولًا إلى deduplicate_insert_select. وتتطلب إزالة التكرار أيضًا أن يحتفظ جدول الوجهة بسجل إزالة التكرار، راجع replicated_deduplication_window وnon_replicated_deduplication_window.

deduplicate_insert_select

النوع
DeduplicateInsertSelectMode
القيمة الافتراضية
enable_when_possible
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.1enable_when_possibleغيّر السلوك الافتراضي لـ deduplicate_insert_select إلى ENABLE_WHEN_POSSIBLE
25.12enable_even_for_bad_queriesإعداد جديد، يستبدل insert_select_deduplicate

يُمكّن هذا الإعداد أو يعطّل إزالة تكرار الكتل لعملية INSERT SELECT (لجداول Replicated*). بالنسبة إلى استعلامات INSERT SELECT، يُؤخذ هذا الإعداد في الاعتبار قبل deduplicate_insert. تكون عبارة SELECT مستقرة عندما تتضمن ORDER BY ALL وينتهي خط أنابيبها في تدفق واحد. وتُعد قيمة غير فارغة لـ insert_deduplication_token بديلًا مكافئًا للاستقرار. لهذا الإعداد أربع قيم ممكنة:

  • disable — يتم تعطيل إزالة التكرار لاستعلام INSERT SELECT.
  • force_enable — يتم تمكين إزالة التكرار لاستعلام INSERT SELECT، بغض النظر عن deduplicate_insert. وإذا لم تكن نتيجة SELECT مستقرة ولم يُوفَّر رمز مميز، يتم طرح استثناء.
  • enable_when_possible — يتم تمكين إزالة التكرار إذا كان مُمكّنًا بواسطة deduplicate_insert وكانت نتيجة SELECT مستقرة، وإلا فيتم تعطيله.
  • enable_even_for_bad_queries - يتم تمكين إزالة التكرار إذا كان مُمكّنًا بواسطة deduplicate_insert، بغض النظر عما إذا كانت نتيجة SELECT مستقرة. وإذا لم تكن نتيجة SELECT مستقرة، تُسجَّل رسالة، لكن يُنفَّذ الاستعلام مع إزالة التكرار. هذا الخيار مخصّص للتوافق مع الإصدارات السابقة. يُنصح باستخدام خيارات أخرى بدلًا منه لأنه قد يؤدي إلى نتائج غير متوقعة.
Navigation