هذه الإعدادات متاحة في system.settings، وقد أُنشئت تلقائيًا من الشفرة المصدرية.
optimize_skip_merged_partitions
يُفعِّل هذا الإعداد التحسين أو يعطّله للاستعلام OPTIMIZE TABLE … FINAL إذا كان هناك جزء واحد فقط بمستوى > 0 ولم تكن له قيمة TTL منتهية الصلاحية.
OPTIMIZE TABLE ... FINAL SETTINGS optimize_skip_merged_partitions=1
بشكل افتراضي، يعيد الاستعلام OPTIMIZE TABLE ... FINAL كتابة الجزء حتى إذا كان هناك جزء واحد فقط.
القيم الممكنة:
- 1 - تمكين التحسين.
- 0 - تعطيل التحسين.
optimize_skip_unused_shards
يتيح أو يعطّل تخطي الشظايا غير المستخدمة في استعلامات SELECT التي تتضمن شرطًا على مفتاح التجزئة في WHERE/PREWHERE، كما يفعّل التحسينات ذات الصلة للاستعلامات الموزعة (مثل التجميع حسب مفتاح التجزئة).
القيم الممكنة:
- 0 — معطّل.
- 1 — مفعّل.
optimize_skip_unused_shards_limit
حدّ عدد قيم مفتاح التجزئة؛ ويتم تعطيل optimize_skip_unused_shards عند بلوغ هذا الحد.
قد يتطلب العدد الكبير جدًا من القيم قدرًا كبيرًا من المعالجة، بينما تكون الفائدة منه محل شك، لأنه إذا كان لديك عدد هائل من القيم في IN (...)، فمن المرجح أن يُرسَل الاستعلام إلى جميع الشظايا على أي حال.
optimize_skip_unused_shards_nesting
يتحكّم في مستوى التداخل في الاستعلام الموزّع الذي يعتمد عليه optimize_skip_unused_shards (ولذلك لا يزال يتطلب optimize_skip_unused_shards)، وذلك في الحالات التي يكون لديك فيها جدول Distributed يشير إلى جدول Distributed آخر.
القيم الممكنة:
- 0 — معطّل، ويعمل
optimize_skip_unused_shardsدائمًا. - 1 — يفعّل
optimize_skip_unused_shardsللمستوى الأول فقط. - 2 — يفعّل
optimize_skip_unused_shardsحتى المستوى الثاني.
optimize_skip_unused_shards_rewrite_in
أعِد كتابة IN في الاستعلام الخاص بالشظايا البعيدة لاستبعاد القيم التي لا تنتمي إلى الشظية (يتطلب optimize_skip_unused_shards).
القيم الممكنة:
- 0 — معطّل.
- 1 — مفعّل.