هل هو دائما أسرع لإنشاء فهارس بعد تحميل البيانات؟

dba.stackexchange https://dba.stackexchange.com/questions/69299

سؤال

لدي عدد كبير من السجلات (~ 1 مليار) أحتاج إلى تحميلها في Mongodb (في الواقع Tokumx، ولكن أيا كان).لدي حوالي 6 مؤشرات مختلفة أحتاج إلى إنشاء في المجموعة.هل هو دائما أسرع لتحميل البيانات، ثم قم بإنشاء المؤشرات؟عندما أنظر إلى Logfile Mongo's Logfile، يبدو أن Mongo يفعل نوعا ما من التشغيل الكبير (ربما عدد الصف؟) قبل بدء إنشاء مؤشر في الواقع، وهذا يفعل ذلك لكل فهرس أخلقه.

هل سيكون دائما أسرع لإنشاء المؤشرات بعد تحميل البيانات؟

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

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

المحلول

مرة أخرى في اليوم، فإننا سنقوم بتحميل بياناتنا بهذه الطريقة:

  1. فهارس إسقاط
  2. تحميل البيانات بالترتيب الذي سيتم بناؤه مؤشر المسافات المستفوقة (I.E.، تقوم بتصدير البيانات بطريقة دقيقة)
  3. بعد اكتمال الحمل، قم بإنشاء الفهرس المتراكب
  4. بعد ذلك، قم بإنشاء أي فهارس إضافية غير متفاوت المسافات
  5. miller الوقت (كان هذا قبل أن أتمكن من تحمل البيرة الكريمة)

    هذه الطريقة أثبتت دائما أسرع من ترك الفهارس في مكانها.ومع ذلك، كان هذا بالنسبة لشركة Sybase و SQL Server.أتصور أنظمة أخرى ستكون متشابهة، لكنني لا أستطيع أن أقول مؤكدا.

نصائح أخرى

إذا كنت تقوم بعملية كبيرة، فإن عملية التحميل، فهي أسرع للاستفادة من محمل Bulk Tokumx، لأنها تتطلب فقط مرحلة واحدة عبر البيانات لإنشاء كلا من مؤشر المفاتيح الأساسي وأي فهارس ثانوية.مزيد من المعلومات متوفرة في الوثائق على http:// docs. tokutek.com / tokumx / tokumx-commandss.html # Tokumx-Orders-loader

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