استخدام عرض ذو معلمات في ClickHouse
قد يكون العرض ذو المعلمات مفيدًا لتجزئة البيانات وتحليلها آنيًا استنادًا إلى معلمات يمكن تمريرها عند تنفيذ الاستعلام.
راجع هذا المثال الأساسي:
- أنشئ جدولًا
clickhouse-cloud :) CREATE TABLE raw_data (id UInt32, data String) ENGINE = MergeTree ORDER BY id
CREATE TABLE raw_data
(
`id` UInt32,
`data` String
)
ENGINE = MergeTree
ORDER BY id
Query id: aa21e614-1e10-4bba-88ce-4c7183a9148e
Ok.
0 rows in set. Elapsed: 0.332 sec.- أدرِج بعض البيانات العشوائية التجريبية
clickhouse-cloud :) INSERT INTO raw_data SELECT * FROM generateRandom('`id` UInt32,
`data` String',1,1) LIMIT 1000000;
INSERT INTO raw_data SELECT *
FROM generateRandom('`id` UInt32,
`data` String', 1, 1)
LIMIT 1000000
Query id: c552a34a-b72f-45e1-bed0-778923e1b5c9
Ok.
0 rows in set. Elapsed: 0.438 sec. Processed 1.05 million rows, 10.99 MB (2.39 million rows/s., 25.11 MB/s.)- أنشئ العرض ذو المعلمات:
clickhouse-cloud :) CREATE VIEW raw_data_parametrized AS SELECT * FROM raw_data WHERE id BETWEEN {id_from:UInt32} AND {id_to:UInt32}
CREATE VIEW raw_data_parametrized AS
SELECT *
FROM raw_data
WHERE (id >= {id_from:UInt32}) AND (id <= {id_to:UInt32})
Query id: 45fb83a6-aa55-4197-a7cd-9e1ad2c76d48
Ok.
0 rows in set. Elapsed: 0.102 sec.- استعلم من العرض ذي المعلمات بتمرير المعلمات المتوقعة في عبارة
FROM:
clickhouse-cloud :) SELECT count() FROM raw_data_parametrized(id_from=0, id_to=50000);
SELECT count()
FROM raw_data_parametrized(id_from = 0, id_to = 50000)
Query id: 5731aae1-3e68-4e63-b57f-d50f29055744
┌لمزيد من المعلومات، يُرجى مراجعة https://clickhouse.com/docs/sql-reference/statements/create/view#parameterized-view