تقنيات التقسيم الفرعي
اجمع بين أساليب التقسيم من خلال تطبيق التقسيم الفرعي لتنظيم البيانات بدرجة أدق.
تقنيات التقسيم الفرعي درس مجاني في Advanced PostgreSQL: Indexing, Partitioning, Replication على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Advanced PostgreSQL: Indexing, Partitioning, Replication، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Advanced PostgreSQL: Indexing, Partitioning, Replication 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Deeper Data Organization
Welcome! In this lesson, we'll explore sub-partitioning, an advanced technique to combine different partitioning methods in PostgreSQL.
It allows you to organize your data with even finer granularity, creating a powerful hierarchical structure for very large tables.
Why Use Sub-Partitioning?
Sub-partitioning offers several key advantages for managing and querying massive datasets:
- Finer Granularity: Break down large partitions into smaller, more manageable units.
- Targeted Management: Easier to perform operations (e.g., attach, detach, archive) on specific data subsets.
- Improved Query Performance: The database can prune even more irrelevant data blocks, significantly speeding up queries on specific sub-sections.
How Nested Partitions Work
With sub-partitioning, you define a primary partitioning strategy for your main table. Then, for each individual partition of that main table, you define a secondary partitioning strategy.
Think of it as partitioning a table by year, and then partitioning each year's data further by region. It's a 'partition of a partition' concept.
Strategy: Range by Date, List by Region
A common and effective sub-partitioning pattern is to first partition a table by a date range (e.g., year or quarter), and then sub-partition each date range by a list of discrete values (e.g., region, department, status).
This is ideal for time-series data that also has important categorical attributes, allowing you to quickly filter by both.
Code: Main Table (Range)
Let's create an orders table. This will be our top-level parent, partitioned by order_date using RANGE partitioning.
CREATE TABLE orders (
order_id INT,
order_date DATE,
region TEXT,
amount DECIMAL
) PARTITION BY RANGE (order_date);Code: Level 1 Partition (Range & List Parent)
Now, we create a partition for the year 2023. Crucially, we add PARTITION BY LIST (region) to this partition definition.
This makes orders_2023 itself a parent table, ready for its own sub-partitions.
CREATE TABLE orders_2023
PARTITION OF orders
FOR VALUES FROM ('2023-01-01') TO ('2024-01-01')
PARTITION BY LIST (region);Code: Level 2 Sub-Partitions & Insert
Finally, we create the actual sub-partitions for specific regions within the orders_2023 partition. Data for 'North' goes into orders_2023_north, etc. We'll also insert some data to see it in action.
CREATE TABLE orders_2023_north
PARTITION OF orders_2023
FOR VALUES IN ('North');
CREATE TABLE orders_2023_south
PARTITION OF orders_2023
FOR VALUES IN ('South');
INSERT INTO orders VALUES
(1, '2023-03-15', 'North', 150.00),
(2, '2023-07-22', 'South', 200.50),
(3, '2023-11-01', 'North', 75.25);
SELECT tableoid::regclass, * FROM orders ORDER BY order_id;Strategy: List by Category, Range by Year
You can also reverse the strategy: partition first by a list of categories (e.g., 'Electronics', 'Books'), and then sub-partition each category by a date range (e.g., release year).
This is useful when your primary access pattern is by category, and then you need to filter within categories by time.
Quick Check: Sub-Partitioning
Sub-partitioning offers powerful ways to organize data. Which of the following statements correctly describe its characteristics or benefits?
Recap & Next Steps
You've now learned about PostgreSQL sub-partitioning!
- We saw how to combine RANGE and LIST partitioning to create deeply organized tables.
- This technique provides finer data granularity and can significantly boost query performance by enabling more precise partition pruning.
- Understanding sub-partitioning is crucial for managing extremely large and complex datasets effectively.
Next, we'll dive into managing partitioned tables, including adding, dropping, and altering partitions efficiently.
الأسئلة الشائعة
هل درس «تقنيات التقسيم الفرعي» مجاني؟
نعم — نص درس «تقنيات التقسيم الفرعي» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Advanced PostgreSQL: Indexing, Partitioning, Replication، انتقل إلى CoddyKit PRO. تتضمن دورة Advanced PostgreSQL: Indexing, Partitioning, Replication 4 دروس في المجموع.
ماذا ستتعلم في «تقنيات التقسيم الفرعي»؟
اجمع بين أساليب التقسيم من خلال تطبيق التقسيم الفرعي لتنظيم البيانات بدرجة أدق. تتمرن على Advanced PostgreSQL: Indexing, Partitioning, Replication مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Advanced PostgreSQL: Indexing, Partitioning, Replication؟
لا تُشترط خبرة سابقة. Advanced PostgreSQL: Indexing, Partitioning, Replication على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «تقنيات التقسيم الفرعي»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Advanced PostgreSQL: Indexing, Partitioning, Replication هذا؟
نعم. كل درس في Advanced PostgreSQL: Indexing, Partitioning, Replication يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التقسيم بالتجزئة للتوزيع
- تقنيات التقسيم الفرعي
- إدارة الجداول المقسّمة
- التقسيم حسب النطاق الزمني