ما استعلام SQL يظهر لي الجداول و الفهارس المستخدمة من قبل إطلالة على ينفورميكس?

StackOverflow https://stackoverflow.com/questions/307983

  •  08-07-2019
  •  | 
  •  

سؤال

ما استعلام SQL يظهر لي الجداول و الفهارس المستخدمة من قبل إطلالة على ينفورميكس?

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

الخلفية:كنت بحاجة للتأكد من أن بعض آراء نقدية نقطة الحالية (على سبيل المثالبعد أن "تنظيم") جداول.كثيرا ما رأيت مناظر لافتا إلى النسخ الاحتياطي القديمة الجداول التي لم تعد فهرسة, و استغرق إلى الأبد إلى الاستعلام.

أنا بحاجة إلى التعرف على هذه الاستفسارات بانتظام و "تذكير" ضبط DBA لإعادة بناء المشاهدات/الفهارس.

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

المحلول

الجدول sysdepend الوثائق عرض التبعيات.الأعمدة هي:

  • btabid - قاعدة الجدول رقم الهوية
  • btype - عادة T الجدول V عرض
  • dtabid - يعتمد الجدول رقم الهوية
  • dtype - عادة T الجدول V عرض

وبالتالي معين مع tabid N, يمكنك كتابة:

SELECT b.owner, b.tabname, d.*
    FROM "informix".systables b, "informix".sysdepend d
    WHERE d.dtabid = N
      AND d.btabid = b.tabid;

إذا كنت تعرف فقط عرض اسم ، ثم تحديد المنظر tabid من المستغرب صعبة إذا كانت قاعدة البيانات الخاصة بك هو وضع ANSI قاعدة البيانات حيث قد يكون لديك جداول متعددة مع نفس اسم الجدول (أو عرض الاسم في هذه الحالة) ولكن مع كل صاحب مختلفة.ومع ذلك ، في الحالة العادية (غير ANSI أو قاعدة بيانات فريدة من نوعها الجدول/عرض اسم) الاستعلام من السهل بما فيه الكفاية:

SELECT b.owner, b.tabname, d.*
    FROM "informix".systables b, "informix".sysdepend d
    WHERE d.dtabid = (SELECT v.tabid FROM "informix".systables v
                         WHERE v.tabname = "viewname"
                     )
      AND d.btabid = b.tabid;

السؤال يسأل عن المؤشرات المستخدمة من قبل الرأي.المؤشرات التي يتم استخدامها من قبل الرأي ، في حد ذاتها ؛ المؤشرات المستخدمة من قبل الاستعلام المحرك عند معالجة الاستعلام ، ولكن المؤشرات المستخدمة يمكن أن يتغير اعتمادا على مجموع استعلام لذلك فهارس مختلفة يمكن أن تستخدم هذين الاستفسارات:

SELECT * FROM SomeView;

SELECT * FROM SomeView
    WHERE Column1 BETWEEN 12 AND 314;

الفهارس التي سيتم استخدامها لا تسجل في أي مكان في النظام التسويقي ؛ هم redetermined بشكل حيوي عند بيان أعد.

السؤال أيضا:

الخلفية:كنت بحاجة للتأكد من أن بعض آراء نقدية نقطة الحالية (على سبيل المثالبعد أن "تنظيم") جداول.كثيرا ما رأيت مناظر لافتا إلى النسخ الاحتياطي القديمة الجداول التي لم تعد فهرسة, و استغرق إلى الأبد إلى الاستعلام.

كيف يمكنك أن تفعل إعادة التنظيم؟ -لا يمكنك إنشاء جدول جديد مع المطلوب هيكل نسخ البيانات من القديم إلى الجديد ، ثم إعادة تسمية القديمة ، إعادة تسمية جديدة ؟ أن من المحتمل أن يكون التفسير - الجدول تسمية reworks الآراء التي تشير إلى الجدول.ما شكل التنظيم الذي تفعله ؟ يمكنك استخدام الأسلوب ؟ الكلاسيكية الاستعداد لاستخدام تغيير الفهرس indexname إلى المجموعة (بعد تغيير ذلك لا العنقودية إذا كان بالفعل متفاوت المسافات).هذا يعيد بناء الجدول و مؤشرات - بدون مناظر كسر.بدلا من ذلك, يمكنك النظر في تغيير جزء من العملية.

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

بديل آخر ، وبالتالي ، هو ببساطة ضمان أن التنظيم قطرات يعيد وجهات النظر.

أنا بحاجة إلى التعرف على هذه الاستفسارات بانتظام و "تذكير" ضبط DBA لإعادة بناء المشاهدات/الفهارس.

القلق...يجب أن تكون جزءا من معيار إجراءات استكمال عملية إعادة التنظيم.أساسا لديك خلل في التقرير في هذا الإجراء - أنه لا يضمن أن آراء بالكامل.

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