سؤال

أكتب بعض استعلامات SQL الجديدة وأريد التحقق من خطط الاستعلام التي سيأتي إليها Oracle Query Optimiser في الإنتاج.

لا تحتوي قاعدة بيانات التطوير الخاصة على أي شيء مثل أحجام بيانات قاعدة بيانات الإنتاج.

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

أيضا ، هذا للتطبيق القديم. أرغب في "تحسين" المخطط ، عن طريق إضافة الفهارس المناسبة. القيود ، إلخ.

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

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

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

كل هذا يستخدم Oracle 9i.

شكرًا.

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

المحلول

راجع الوثائق الخاصة بـ DBMS_STATS.EXPORT_SCHEMA_STATS و DBMS_STATS.IMPORT_SCHEMA_STATS. يجب أن يكون لديك شخص لديه الامتيازات اللازمة يقوم بالتصدير في قاعدة بيانات الإنتاج لك إذا لم يكن لديك وصول. إذا كانت أجهزة التطوير الخاصة بك مختلفة بشكل كبير عن أجهزة الإنتاج الخاصة بك ، فيجب عليك أيضًا تصدير/استيراد إحصائيات النظام باستخدام إجراءات التصدير/import_system_stats.

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

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