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

deduplicate_insert

يُفعّل هذا الإعداد أو يعطّل إزالة تكرار الكتل في 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

يُمكّن هذا الإعداد أو يعطّل إزالة تكرار الكتل لعملية 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 مستقرة، تُسجَّل رسالة، لكن يُنفَّذ الاستعلام مع إزالة التكرار. هذا الخيار مخصّص للتوافق مع الإصدارات السابقة. يُنصح باستخدام خيارات أخرى بدلًا منه لأنه قد يؤدي إلى نتائج غير متوقعة.
آخر تعديل في ٢٦ أغسطس ٢٠٢٦