الانتقال إلى المحتوى الرئيسي
يمثل محتويات إسقاطٍ ما في جداول MergeTree. ويمكن استخدامه للفحص الداخلي.

الصيغة

mergeTreeProjection(database, table, projection)

الوسائط

الوسيطالوصف
databaseاسم قاعدة البيانات التي سيُقرأ منها الإسقاط.
tableاسم الجدول الذي سيُقرأ منه الإسقاط.
projectionالإسقاط الذي ستتم القراءة منه.

القيمة المُعادة

كائن جدول يحتوي على الأعمدة التي يوفّرها الإسقاط المحدد.

مثال على الاستخدام

CREATE TABLE test
(
    `user_id` UInt64,
    `item_id` UInt64,
    PROJECTION order_by_item_id
    (
        SELECT _part_offset
        ORDER BY item_id
    )
)
ENGINE = MergeTree
ORDER BY user_id;

INSERT INTO test SELECT number, 100 - number FROM numbers(5);
SELECT *, _part_offset FROM mergeTreeProjection(currentDatabase(), test, order_by_item_id);
   ┌─item_id─┬─_parent_part_offset─┬─_part_offset─┐
1. │      96 │                   4 │            0 │
2. │      97 │                   3 │            1 │
3. │      98 │                   2 │            2 │
4. │      99 │                   1 │            3 │
5. │     100 │                   0 │            4 │
   └─────────┴─────────────────────┴──────────────┘
DESCRIBE mergeTreeProjection(currentDatabase(), test, order_by_item_id) SETTINGS describe_compact_output = 1;
   ┌─name────────────────┬─type───┐
1. │ item_id             │ UInt64 │
2. │ _parent_part_offset │ UInt64 │
   └─────────────────────┴────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦