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

insert_allow_materialized_columns

إذا كان هذا الإعداد مفعّلًا، فسيُسمح باستخدام الأعمدة المُجسَّدة في عمليات INSERT.

insert_deduplicate

يُفعّل أو يعطّل إزالة التكرار للكتل لأمر INSERT (في جداول Replicated*). القيم الممكنة:
  • 0 — معطّل.
  • 1 — مفعّل.
افتراضيًا، تُزال تكرارات الكتل المُدرجة في الجداول المكررة بواسطة تعليمة INSERT (راجع تكرار البيانات). وبالنسبة إلى الجداول المكررة، تُزال افتراضيًا تكرارات أحدث 100 كتلة فقط لكل partition (راجع replicated_deduplication_window، replicated_deduplication_window_seconds). أما الجداول غير المكررة، فراجع non_replicated_deduplication_window.

insert_deduplication_token

يتيح هذا الإعداد للمستخدم تحديد آلية إزالة التكرار الخاصة به في MergeTree/ReplicatedMergeTree. فعلى سبيل المثال، من خلال تقديم قيمة unique لهذا الإعداد في كل تعليمة INSERT، يمكن للمستخدم تجنّب إزالة تكرار البيانات inserted نفسها. القيم الممكنة:
  • أي String
يُستخدم insert_deduplication_token في إزالة التكرار فقط عندما لا تكون قيمته فارغة. بالنسبة إلى الجداول المكررة، افتراضيًا لا تتم إزالة التكرار إلا لأحدث 100 عملية inserts لكل partition (راجع replicated_deduplication_window، replicated_deduplication_window_seconds). أما الجداول غير المكررة، فراجع non_replicated_deduplication_window.
يتم تتبّع insert_deduplication_token لكل partition، لذا يمكن لعدة partitions مكتوبة بعملية insert واحدة أن تحمل token نفسه. ومن دون token، يُحتسب checksum الافتراضي للمحتوى على مستوى block inserted بالكامل، لذلك لا تُزال تكرارات عملية insert إلا عندما تتطابق بياناتها بالكامل مع insert سابقة (retry)، وليس عندما تتطابق rows الخاصة بـ partition واحدة فقط مصادفةً مع insert مختلفة.
مثال:

insert_null_as_default

يتيح إدراج القيم الافتراضية بدلًا من NULL في الأعمدة ذات نوع البيانات غير Nullable، أو يعطّله. إذا كان نوع العمود غير Nullable وكان هذا الإعداد معطّلًا، فإن إدراج NULL يؤدي إلى حدوث استثناء. أما إذا كان نوع العمود Nullable، فتُدرج قيم NULL كما هي بغضّ النظر عن هذا الإعداد. ينطبق هذا الإعداد على استعلامات INSERT … SELECT. لاحظ أن الاستعلامات الفرعية SELECT يمكن ربطها بعبارة UNION ALL. القيم الممكنة:
  • 0 — يؤدي إدراج NULL في عمود غير Nullable إلى حدوث استثناء.
  • 1 — تُدرج القيمة الافتراضية للعمود بدلًا من NULL.

insert_shard_id

إذا لم تكن القيمة 0، فإنها تحدد الشظية من جدول Distributed التي ستُدرج فيها البيانات بشكل متزامن. إذا كانت قيمة insert_shard_id غير صحيحة، فسيطرح الخادم استثناءً. لمعرفة عدد الشظايا في requested_cluster، يمكنك التحقق من إعدادات الخادم أو استخدام هذا الاستعلام:
القيم الممكنة:
  • 0 — معطّل.
  • أي رقم من 1 إلى shards_num للجدول Distributed المقابل.
مثال الاستعلام:
النتيجة:
آخر تعديل في ٢٣ يوليو ٢٠٢٦