الانتقال إلى المحتوى

تأثيرات عمليات DML على الIndex >>>>>>>>


omar-alreyati

Recommended Posts

plz translate this text >>>>>>>>>>>

Effect of DML Operations on an Index

* INSERT : Insert operations result in the insertion of an index entry in the appropriate block.

* DELETE : Deleting a row results only in a logical deletion of the index entry. The space used by
the deleted row is not available for new entries until all the entries in the block are deleted.

* UPDATE : Updates to the key columns result in a logical delete and an insert to the index. The PCTFREE setting has no effect on the index except at the time of creation. A new entry may be added to an index block even if it has less space than that specified by PCTFREE.

ويا ريت الشرح في العربي وفي أسرع وقت ممكن
وجزاكم الله خيراً

رابط هذا التعليق
شارك

الله شو الشرح الرائع .........!!!!!!!!!!!

الى لم يتم شرح تأثيرات dml على index الى متى هذا الانتظار ،
ارجووووووووووووووووووووووو منككككككككككككككككم الرررررررررررررررررررررد

وشكراً

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته
الاخ/عمر
اليك شرح مبسط
تاثيرات عمليات الDML (الادخال-الحذف-التعديل)على الاندكس
اولا عملية الادخال:
*****************
عند قيامك بادخال رو جديد فى الجدول وهذا الجدول قد تم عمل اندكس له من قبل
يتم ادخال رو جديد ايضا فى الاندكس يشير الى الرو الجديد فى الجدول وهو قيمة فعليه موجودة وتاخذ رقم لا يتم منحة الى اى رو اخر فى الاندكس ويتم تخزينه فى البلوك ى OS

ثانيا عملية الحذف:
****************
عند قيامك بحف رو من الجدول يتم حذف القيمة المقابلة له فى الاندكس
ولكن هذا الحف لوجيكال فقط بمعنى انه لا يتم منح رقم الرو الذى تم حذفه الى اى رو اخر الا اذا تم حذف كل الروز التى تم تخزينها فى البلوك الذى يحتوى الرو المحذوف وذلك لاحتمل عمل اى تعديل اخر على اى رو فى الجدول الذى يتبعه الاندكس ولربما يكون هذا التعديل كبير الى حد ما فلا يمكن تخزينه فى مكان الرو الذى تم حذفه اذا كان هذا الرو فى بلوك فيه روز اخرى فتضطر الاوراكل الى توزيعه على بلوكات اخرى فيؤدى هذا الى تقليل فى البيرفورمنس

ثالثا عملية التعديل:
****************
عمليه التعديل هى عبارة عن عمليتين متداخلتين (حذف + ادخال)
فمثلا لو عندى عمود قمت بتغير قيمه فيه من 8 الى 9 فانا هنا قد حذفت القيمة القديمة وهى ال8 و قمت بعمل ادخال لقيمة جديدة وهى ال 9 وهذا معنى ان التعديل فى عمود معين ينتج عنه حذف و ادخال( و لكن لوجيكال)
اما الPCTFREE
فليس لها تاثير على الاندكس الا فى حالة الانشاء فقط لان هذه القيمة توضح ما اذا كان هذا البلوك صالح على انه فارغ ام لا ففى اثناء انشاء الاندكس نحتاج الى اكبر عدد من البلوكات الفارغة بقدر الامكان وذلك ليتم تخزين الروز التابعة للاندكس فيها بشكل متوالى ولا يتم تشتيت الروز فى اكبر عدد من البلوكات
ولكن بعد انشاء الاندكس ووجد ان هناك مدخل جديد (اندكس رو جديد) فيتم ادخاله فى اى رو فى اى بلوك حتى لو كانت المساحة الفارغة فى هذا البلوك افل من ال PCTFREE له

ارجوا ان اكون ساعتك وهذ على حد علمى
شكرا

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية