هل هناك أي سبب منطقي لوجود مساحة جدول مختلفة للفهارس؟

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

  •  10-07-2019
  •  | 
  •  

سؤال

مرحبًا، هل يمكن للبعض أن يخبرني لماذا أنشأنا مساحة جدول مختلفة للفهرس والبيانات.

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

المحلول

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

تحرير الطرف الثالث

مقتطف من Asktom: "مساحة جدول الفهرس" من عام 2001 لأوراكل الإصدار 8.1.6 السؤال

  • هل ما زالت فكرة الاحتفاظ بالفهارس في مساحة الجدول الخاصة بها فكرة جيدة؟
  • هل يؤدي هذا إلى تحسين الأداء أم أنه يمثل مشكلة استرداد؟
  • هل تختلف الإجابة من منصة إلى أخرى؟

الجزء الأول من الرد

Yes, no, maybe.

The idea, born in the 1980s when systems were tiny and user counts were in the single 
digits, was that you separated indexes from data into separate tablespaces on different 
disks.

In that fashion, you positioned the head of the disk in the index tablespace and the head 
of the disk in the data tablespace and that would be better then seeking 2 times on the 
same disk.

Drives back then were really slow at seeking and typically measured in the 10's to 100's 
of megabytes (if you were lucky)


Today, with logical volumes, raid, NN gigabyte (nn is rapidly becoming NNN gigabytes) 
drives, hundreds/thousands of concurrent users, thousands of tables, 10's of thousands of 
indexes - this sort of "optimization" is sort of impossible.

What you strive for today is to be able to manage things, to spread IO out evenly 
avoiding hot spots.

Since I believe all things should be in locally managed tablespaces with UNIFORM extent 
sizes, I would say that yes, indexes would be in a different tablespace from the data but 
only because they are a different SIZE then the data.  My table with 50 columns and an 
average row size of 4k might belong in a tablespace that has 5meg extents whereas the 
index on a single number column might belong in a tablespace with 512k or 1m extents.

I tend to keep my indexes separate from the data but for the above sizing reason.  The 
tablespaces frequently end up on the same exact mount points.  You strive for even io 
across your disks and you may end up with indexes and data on the same devices. 

نصائح أخرى

وهذا يجعل الشعور في 80S، عندما لم تكن هناك لكثير من المستخدمين وكان حجم قواعد البيانات ليست كبيرة جدا. في ذلك الوقت كان من المفيد أن المؤشرات تخزين والجداول في كميات فيزيائية مختلفة.

والآن هناك وحدات التخزين المنطقية، غارة وهلم جرا، وأنه ليس من الضروري لتخزين المؤشرات والجداول في tablespaces مختلفة.

ولكن كل tablespaces يجب أن تدار محليا مع الزي يمتد الحجم. من وجهة النظر هذه يجب أن يتم تخزين الأرقام القياسية في جدولية مختلفة كما في الجدول مع يمكن تخزينها في جدولية مع 5MB exteds حجم 50 الأعمدة، عندما جدولية لمؤشرات سيتم enought 512KB حجم الموسعة.

  • أداء.وينبغي تحليلها من حالة إلى أخرى.أعتقد أن الحفاظ على كل شيء معًا في مساحة طاولة واحدة يصبح أسطورة أخرى أيضًا!يجب أن يكون هناك ما يكفي من المغازل، وما يكفي من Luns ورعاية قائمة الانتظار في نظام التشغيل.إذا اعتقد شخص ما أن إنشاء مساحة طاولة واحدة يكفي ويشبه العديد من مساحات الطاولة دون أخذ جميع العوامل الأخرى في الاعتبار، فهذا يعني مرة أخرى أسطورة أخرى.هذا يعتمد!
  • توافر عالية.يمكن أن يؤدي استخدام مساحات جداول منفصلة إلى تحسين التوفر العالي للنظام في حالة حدوث بعض الفساد في الملفات أو تلف نظام الملفات أو حظر الفساد.إذا حدثت المشكلة فقط في مساحة جدول الفهرس، فهناك فرصة للقيام بالاسترداد عبر الإنترنت وسيظل تطبيقنا متاحًا للعميل.أنظر أيضا: http://richardfoote.wordpress.com/2008/05/02/indexes-in-their-own-tablespace-recoverability-advantages-get-back/
  • باستخدام مساحات جداول منفصلة للفهارس، والبيانات، والنقط، والنقط، في نهاية المطاف يمكن أن تكون بعض الجداول الفردية مهمة لسهولة الإدارة والتكاليف.يمكننا استخدام نظام التخزين الخاص بنا لتخزين النقط والمجموعات الخاصة بنا، وفي النهاية أرشفتها في طبقة تخزين مختلفة بجودة خدمة مختلفة
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top