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