Buffalo از میان جدول های معدودی که در عمل استفاده خواهید کرد، تعداد اندکی به کوچکی جدول HOCKEY هستند و به ندرت ترتیب حروف الفبا درآنها رعایت می شود. در پرس و جوی زیر از اوراکل می خواهیم که یک تیم خاص را بر اساس تعداد پیروزی های آن بیابید Select Team, won, lost, Tied From HOCKEY Where won= اگر جدول HOCKEY فاقد شاخصی روی ستون won باشد، اوراکل مجبور خواهد بود که همه ی سطرهای جدول را یک به یک بخواند تا نیمی را پیدا کند که با شرط موجود در عبارت where در پرس و جوی مذکور مطابقت داشته باشد می توانید برای سرعت بخشیدن به این فراروند، شاخصی روی ستون won ایجاد کنید. اگر بعدا همان پرس و جوی قبلی را اجرا کنید، اوراکل ابتدا به شاخص، که به ترتیب عددی مرتب شده، نگاه می کند، بدین ترتیب خیلی سریع تیمی را پیدا می کند که 20 پیروزی دارد (اوراکل تمامی مدخل ها را نمی خواند و مستقیما به نزدیکی تیمی مراجعه می کند که تعداد پیروزی های آن به عدد مورد نظر نزدیک تر باشد. این عمل بسیار مشابه با عملی است که هنگام جستجو در شاخص تحقیق می شود ) سپس مدخل شاخص، موقعیت دقیق سطر مربوط به تیم Montreal را در جدول (و روی دیسک) به اوراکل می دهد با دانستن این موضوع، مشخص می شود که ایجاد شاخص روی یک ستون مهم (ستونی که در عبارت where ذکرخواهد شد) چگونه سرعت اوراکل را در پاسخگویی به پرس و جوها بالا می برد. همچنین ایجاد شاخص روی ستون های مرتبط (به وسیله ی عبارت where) سرعت اجرای پرس و جوهایی را که روی دو جدول پیوند خورده انجام می شوند، افزایش می دهد. اینها مبانی شاخص بندی هستند مطالب باقی مانده در این تحقیق برخی ویژگیهای دیگر و موارد مرتبط با شاخص بندی را نشان می دهند که در سرعت انجام کارها تاثیر دارند ایجاد شاخصفرمان زیر اساسی ترین شیوه ی ایجاد شاخص است Create (bitmap) [unique] index on table (colum, [colum]…) index باید یک اسم منحصر به فرد باشد و از قواعد نام گذاری ستون ها در اوراکل پیروی کند. Table اسم جدولی است که شاخص روی آن ساخته خواهد شد و column نام ستون مورد نظر است شاخص های نقش بیتی (bitmap) که از اوراکل 3/7 به بعد در دسترس هستند این امکان را فراهم می آورند که شاخص های سودمندی روی ستون های حاوی مقادیر محدود مجزا (distinct) ایجاد شوند بخش ایجاد شاخص نقش بیتی را در ادامه ی این تحقیق ببینید. می توانید با نوشتن نام چند ستون به صورت متوالی که با علامت کاما (،) از هم جدا شده اند، یک شاخص منفرد روی ستون های متعدد ایجاد کنید. جدول WORKERSKILL را به یاد آورید. کلید اصلی این جدول، ترکیبی از نام (Name) و مهارت (skill) هر کارگر است. پرس و جوی زیر جدول نشان داده شده در بالای شکل 1-19 را تولید می کند Select ROWID, Name skill, Ability From WORKERSKILL در این مثال RowID نیز انتخاب شده است. این مقدار، موقعیت داخلی هر سطر (مانند سر شماری صفحه در کتاب) را مشخص می کند که اوراکل هنگام ذخیره ی سطرهای داده در جدول از آن استفاده می کند حال شاخص روی کلید اصلی ایجاد می شود Create index workerskill name skill on worker (name,. skill) این روش نام گذاری شاخص به وسیله ترکیب نام جدول و ستون، به طول حداکثر 30 کاراکتر، یک روش عملی و سودمند است. اصلا نیازی به دانستن نام شاخص در پرس وجوها یا هر فرمان دیگر SQL ندارید اوراکل هر گاه به آن نیاز پیدا کند، به صورت خود کار آن را به کار خواهد برد. همچنین هر گاه شاخص های ایجاد شده را فهرست (یا حذف) می کنید، فورا با مشاهده ی نام آنها، کار آنها را متوجه خواهید شد (نام شاخص ها در دیدی از فرهنگ داده ها با نام USER- INDEXES ذخیره می شوند و می توانید روی آن دید پرس و جو نیز انجام دهید) شاخص های اوراکل شبیه جدول دوم در شکل 1-19 هستند وقتی پرس و جویی مشابه با پرس و جوی زیر را اجرا می کنید Select Neme, skill, Ability From WORKERSKILL Where Name= JOHN PEARSON And skill= WOODCUTTER اوراکل Name و Skill را در شاخص یافته RowID (یعنی E AAAsYABQAAAAAAGzAA ) را برداشته و سپس اطلاعات موجود در سطر مربوط به این RowID را از جدول WORKERSKILL می خواند. شاخص در قالبی است که به عنوان درخت دودویی (B-Tree) توصیف می شود و بدین معنی است که دارای ساختاری شبیه به یک درخت با گره ها و برگ ها است و هر گاه سطر جدیدی در جدول درج می شود، به صورت خود کار ساختار خود را بازسازی می کند توصیف طرز کار درخت های دودویی از حدود این تحقیق خارج است ولی می توانید مطالب مربوط به آنها را در بسیاری از متون کامپیوتری بیابید چند بخش باقی مانده برخی از موارد مربوط به نحوه ی استفاده از شاخص ها را در بر می گیرند اعمال یکتایی
![]() :: بازدید از این مطلب : 94
مطالب مرتبط با این پست لیست
می توانید دیدگاه خود را بنویسید
|
آرشیو مطالب آخرین مطالب پیوند های روزانه مطالب تصادفی مطالب پربازدید چت باکس
تبادل لینک هوشمند پشتیبانی LoxBlog.Com |
متن دلخواه شما
|
|