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

materialize_statistics_on_insert

عند تفعيل هذا الإعداد، تنشئ عمليات INSERT الإحصاءات وتدرجها. عند تعطيله، تُنشأ الإحصاءات وتُخزَّن أثناء عمليات الدمج أو عبر MATERIALIZE STATISTICS صريح. لا تتأثر إلا الجداول التي لا يتجاوز حجمها الحالي، بالإضافة إلى حجم الكتلة الجاري كتابته، materialize_statistics_on_insert_max_table_size.

materialize_statistics_on_insert_max_table_size

لا تُنشئ إحصاءات الأعمدة وتخزّنها عند INSERT (راجع materialize_statistics_on_insert) إلا للجداول التي لا يتجاوز فيها إجمالي الحجم الحالي لأجزاء البيانات النشطة على القرص (مضغوطًا، بالبايت)، مضافًا إليه الحجم غير المضغوط في الذاكرة للكتلة التي تجري كتابتها، هذه القيمة. ينطبق هذا الشرط على كل كتلة مكتوبة، وليس على كل INSERT: إذ يُقسَّم INSERT واحد إلى كتلة واحدة لكل قسم (وإلى عدة كتل في عمليات الإدخال المتدفقة)، ويُفحص كل منها مقارنةً بحجم الأجزاء النشطة بالفعل، لأن أجزاء INSERT الجاري ليست نشطة بعد. لذلك، يمكن لعملية تحميل مجمّع واحدة إلى جدول فارغ أن تنشئ إحصاءات لجميع أجزائه حتى لو تجاوز إجمالي حجمها الحد؛ ويسري الحد على عمليات الإدخال اللاحقة. إن استخدام حجم الكتلة غير المضغوط (إذ إن الحجم المضغوط غير معروف قبل كتابة الجزء) يجعل الفحص متحفظًا عمدًا بفارق لا يتجاوز كتلة واحدة. يحافظ ذلك على حداثة الإحصاءات في جداول الأبعاد الصغيرة، وهو أمر مهم لإعادة ترتيب عمليات الربط المستندة إلى التكلفة، مع تجنب العبء الإضافي لكل عملية إدخال في جداول الوقائع الكبيرة (إذ تُنشأ إحصاءاتها أثناء عمليات الدمج بدلًا من ذلك). تعني 0 عدم وجود حد للحجم.
آخر تعديل في ١٤ أغسطس ٢٠٢٦