Partitioning تقسیم جدول به بخشهای کوچکتر بر اساس تاریخ، کلید یا فهرست مقادیر است تا موتور پایگاه داده فقط بخشهای لازم را بررسی کند.
Partitioning با Sharding یکی نیست، پارتیشنها میتوانند در همان پایگاه و سرور قرار داشته باشند.
تقسیم جدول رویدادها بر اساس ماه میتواند حذف داده قدیمی و محدود کردن اسکن تاریخ را آسان کند. Partitioning لزوماً به معنی چند سرور نیست.
نمونه جدول پارتیشنشده زمانی
-- PostgreSQL illustrative partitioned table
CREATE TABLE events (
id BIGINT, happened_at DATE NOT NULL
) PARTITION BY RANGE (happened_at);
پارتیشنبندی معمولاً مدیریت بازههای زمانی و حذف داده قدیمی را آسان میکند. بدون ایندکس مناسب و کوئری با شرط روی کلید پارتیشن، لزوماً افزایش کارایی نداریم.
برای تکمیل این بحث، صفحه شاردینگ را نیز ببینید.