توضیح و مثال جامع برای SQL TABLESPACE(فضای جدولی)
فضای جدولی (TableSpace) در SQL، یک واحد ذخیرهسازی منطقی برای اشیاء پایگاه داده مانند جداول، نمایهها و خوشهها است.
مزایای استفاده از فضای جدولی:
- مدیریت فضای ذخیرهسازی: با استفاده از فضاهای جدولی میتوان فضای ذخیرهسازی را به طور کارآمدتر مدیریت کرد.
- بهبود عملکرد: میتوان فضاهای جدولی را به گونهای تنظیم کرد که عملکرد پرسوجوها را بهبود بخشد.
- افزایش امنیت: میتوان از فضاهای جدولی برای جداسازی دادههای حساس و اعمال کنترلهای دسترسی استفاده کرد.
- قابلیت انعطافپذیری: میتوان فضاهای جدولی را به مکانهای مختلف فیزیکی ذخیرهسازی اختصاص داد.
انواع فضاهای جدولی:
- فضای جدولی پیشفرض (Default TableSpace): این فضا به طور خودکار توسط سیستم پایگاه داده ایجاد میشود و برای ذخیرهسازی اشیاء جدید استفاده میشود.
- فضای جدولی کاربری (User TableSpace): این فضا توسط کاربر ایجاد میشود و برای ذخیرهسازی اشیاء خاص استفاده میشود.
- فضای جدولی سیستمی (System TableSpace): این فضا برای ذخیرهسازی اشیاء داخلی پایگاه داده مانند جداول سیستم و دیتابیسهای موقت استفاده میشود.
ایجاد فضای جدولی:
برای ایجاد فضای جدولی جدید، از دستور CREATE TABLESPACE
استفاده میشود.
SQL
CREATE TABLESPACE my_tablespace
DATAFILE '/path/to/datafile1.dat'
SIZE ۱۰G
EXTENT SIZE ۱M
AUTOEXTEND SIZE ۵M
MAXEXTENTS UNLIMITED;
در این مثال، فضای جدولی جدیدی به نام my_tablespace
ایجاد میشود که:
- در فایل
/path/to/datafile1.dat
ذخیره میشود. - ۱۰ گیگابایت فضای ذخیرهسازی دارد.
- حجم پیشفرض هر بخش ۱ مگابایت است.
- در صورت نیاز، ۵ مگابایت به فضای ذخیرهسازی هر بخش اضافه میشود.
- تعداد نامحدودی از بخشها میتواند به فضای جدولی اضافه شود.
اختصاص فضای جدولی به یک شیء:
برای اختصاص فضای جدولی به یک شیء، از عبارت TABLESPACE
در دستور CREATE
یا ALTER
استفاده میشود.
SQL
CREATE TABLE my_table (
id INT PRIMARY KEY,
name VARCHAR(۲۵۵)
) TABLESPACE my_tablespace;
در این مثال، جدول my_table
در فضای جدولی my_tablespace
ذخیره میشود.
حذف فضای جدولی:
برای حذف فضای جدولی، از دستور DROP TABLESPACE
استفاده میشود.
SQL
DROP TABLESPACE my_tablespace;
نکته: قبل از حذف فضای جدولی، باید مطمئن شوید که هیچ شیء فعالی در آن ذخیره نشده است.