نقل قول: پارتیشن بندی جداول
روش های پارتیشن بندی جداول
روش های مختلفی جهت پارتیشن بندی یک جدول وجود دارند که عبارت است از :
پارتیشن بندی ساده یا یک سطحی که شامل موارد زیر می باشد :
- پارتیشن بندی Range: متداول ترین روش پارتیشن بندی است . در این روش داده ها براساس کلید پارتیشن بندی به پارتیشن های مختلف تقسیم می شوند . کلید پارتیشن معمولا یک ستون یا نوع داده تاریخ می باشد.
- پارتیشن بندی List : در این روش داده ها براساس لیستی از مقادیر گسسته یک فیلد به پارتیشن های مختلفی تقسیم می شوند . مانند فیلد شهر که می تواند شامل مقادیری مانند تهران ، اصفهان ، تبریز و ... باشد و رکوردها براساس فیلد شهر در یکی از این پارتیشن ها قرار گیرند .
- پارتیشن بندی Hash : در این روش داده ها براساس یک الگوریتم Hashing به پارتیشن های مختلف تقسیم می شوند. تنها کافی است تا کلید پارتیشن بندی و تعداد پارتیشن مورد نظر را مشخص نمایید . بقیه کارها را اوراکل به طور خودکار انجام می دهد .
- پارتیشن بندی Interval : این روش تعمیم یافته روش Range و براساس دوره زمانی می باشد به گونه ایکه به بانک اطلاعاتی امکان می دهد تا بتواند به طور خودکار ، هنگامیکه داده ها از محدوده مشخص شده توسط روش Range خارج شوند براساس یک Interval خاص پارتیشن جدیدی ایجاد نماید.
- پارتیشن بندی سیستمی: در این نوع پارتیشن بندی پس از ایجاد پارتیشن، تمام عملیات مربوط به کنترل پارتیشن بندی به جای اینکه توسط بانک اطلاعاتی انجام گیرد، توسط برنامه کاربردی انجام می شود.
- پارتیشن بندی ارجاعی :از این روش برای پارتیشن بندی جداولی که شامل کلید خارجی می باشند، استفاده می شود. در این روش پارتیشن بندی، جدول detail براساس همان کلید پارتیشنی که جدول master براساس آن پارتیشن بندی شده است پارتیشن بندی می شود.
- پارتیشن بندی بر مبنای ستون مجازی : این روش یک روش مجزای پارتیشن بندی نبوده و به این معنا است که می توان از ستون های مجازی (ترکیبی از ستون های موجود) به عنوان کلید پارتیشن بندی در تمام روش های پارتیشن بندی ساده و یا سطح اول استفاده نمود.
پارتیشن بندی ترکیبی یا دو سطحی که شامل موارد زیر می باشد :
- Range-Range
- Range-List
- Rabge-Hash
- List-Range
- List-List
- List-Hash
- Interval-Range
- Interval-List
- Interval-Hash
بدست آوردن اطلاعاتی در مورد پارتیشن ها
برای مشاهده اطلاعات مربوط به پارتیشن ها می توانید از ویوهای زیر استفاده نمایید :
- DBA_TAB_PARTITIONS
- DBA_PART_TABLES