Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

كيفية استخدام العروض ذات المعلمات في ClickHouse

استخدام عرض ذو معلمات في ClickHouse

قد يكون العرض ذو المعلمات مفيدًا لتجزئة البيانات وتحليلها آنيًا استنادًا إلى معلمات يمكن تمريرها عند تنفيذ الاستعلام.

راجع هذا المثال الأساسي:

  1. أنشئ جدولًا
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.
  1. أدرِج بعض البيانات العشوائية التجريبية
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.)
  1. أنشئ العرض ذو المعلمات:
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.
  1. استعلم من العرض ذي المعلمات بتمرير المعلمات المتوقعة في عبارة 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

Navigation