سؤال

متى وكيف يجب أن الجدول احصائيات جمع أن يؤديها Oracle الإصدار 9 و ؟ كيف يمكنك أن تذهب نحو جمع احصائيات عن قاعدة بيانات كبيرة ، حيث احصائيات جمع أن تتصادم مع "ساعات العمل".

هل كانت مفيدة؟

المحلول

جمع الإحصائيات ينبغي القيام به كلما كانت هناك تغييرات كبيرة في محتوى البيانات ، على سبيل المثال عدد كبير من حذف أو إدراج.إذا كان قد تغير بنية الجدول يجب عليك جمع الإحصائيات أيضا.فمن المستحسن استخدام 'التقدير' الخيار.

هل هذه العملية الآلية خارج ساعات العمل إذا كان ذلك ممكنا ، أو إذا كان لديك للقيام بذلك خلال ساعات العمل ثم اختيار الوقت عندما يكون هناك الحد الأدنى من الوصول إلى الجداول التي ترغب في جمع احصائيات.

نصائح أخرى

أنا لا أتفق أنه يجب عليك دائما إعادة بناء الإحصاءات الخاصة بك بعد أن كانت هناك الكثير من حذف أو إدراج.كما يعتمد.في مستودع بيانات الحالة عند إعادة بناء تتحقق وجهات النظر سوف يفعل الكثير من حذف وإدراج ولكن بنية قاعدة البيانات لن تتغير.

تحتاج فقط إلى إعادة حساب الإحصاءات على طاولة إذا كان هناك كبير تغيير في محتواها.هذا لا لا يعني بعد الكثير من حذف أو إدراج وإنما حذف ، وتدرج ، أو التحديثات ماديا تغيير المحتوى فيما يتعلق بإمكانية تنفيذ الخطط.

إذا كنت اقتطاع الجداول بناء (والتي سوف إعادة تعيين إحصاءات) ، بدلا من تكلفة إحصاءات الحساب ، كنت في كثير من الأحيان من الأفضل تخزين الإحصاءات قبل اقتطاع واستعادتها مرة واحدة كنت قد أعاد بناء الجدول.

من أجل إنقاذ الحالي آراء إحصاءات استخدام:

dbms_stats.export_table_stats

واستعادة لهم بعد ذلك يمكنك استخدام:

dbms_stats.import_table_stats

(هناك إجراءات المقابلة schema و database.)

تأكد عند استخدام تقدير (sample_percent) التي يمكنك جمع ما لا يقل عن 10 في المئة.أدناه التي يمكن أن تسفر عن نتائج مشكوك فيها جدا.

النظر في النسخ الاحتياطي الحالية احصائيات عندما جمع و هكذا يمكن مقارنتها (إذا كنت ترغب) وربما استعادتها إذا إحصائيات جديدة أن يسبب مشاكل.نضع في اعتبارنا أن الإحصائيات تستخدم لتحديد تنفيذ خطط -- قد تحتاج فقط إلى جمع لهم إذا كنت تريد تنفيذ خطط التغيير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top