Исправил названия схем

This commit is contained in:
Bonifatsiy
2026-04-30 23:59:43 +04:00
parent 2ced7cf273
commit 46a366c07a
@@ -4,7 +4,7 @@
DROP TABLE IF EXISTS dsolovianov.products ON CLUSTER clickhouse_cluster SYNC; DROP TABLE IF EXISTS dsolovianov.products ON CLUSTER clickhouse_cluster SYNC;
DROP TABLE IF EXISTS dsolovianov.prices ON CLUSTER clickhouse_cluster SYNC; DROP TABLE IF EXISTS dsolovianov.prices ON CLUSTER clickhouse_cluster SYNC;
CREATE TABLE products CREATE TABLE dsolovianov.products
ON CLUSTER clickhouse_cluster ON CLUSTER clickhouse_cluster
( (
product_id UInt32, product_id UInt32,
@@ -16,12 +16,12 @@ ON CLUSTER clickhouse_cluster
ORDER BY product_id; ORDER BY product_id;
INSERT INTO products VALUES INSERT INTO dsolovianov.products VALUES
(101, 'iPhone 14'), (101, 'iPhone 14'),
(102, 'Galaxy S22'), (102, 'Galaxy S22'),
(103, 'Pixel 7'); (103, 'Pixel 7');
CREATE TABLE prices CREATE TABLE dsolovianov.prices
ON CLUSTER clickhouse_cluster ON CLUSTER clickhouse_cluster
( (
product_id UInt32, product_id UInt32,
@@ -33,7 +33,7 @@ ON CLUSTER clickhouse_cluster
) )
ORDER BY product_id; ORDER BY product_id;
INSERT INTO prices VALUES INSERT INTO dsolovianov.prices VALUES
(101, 999, 'US'), (101, 999, 'US'),
(101, 1049, 'EU'), (101, 1049, 'EU'),
(102, 850, 'US'), (102, 850, 'US'),
@@ -48,8 +48,8 @@ SELECT
p.name, p.name,
pr.price, pr.price,
pr.region pr.region
FROM products AS p FROM dsolovianov.products AS p
ANY LEFT JOIN prices AS pr ON p.product_id = pr.product_id; ANY LEFT JOIN dsolovianov.prices AS pr ON p.product_id = pr.product_id;
--№2 Что будет, если в таблице `prices` несколько цен на один `product_id`? --№2 Что будет, если в таблице `prices` несколько цен на один `product_id`?
@@ -62,8 +62,8 @@ SELECT
p.name, p.name,
pr.price, pr.price,
pr.region pr.region
FROM products AS p FROM dsolovianov.products AS p
ALL LEFT JOIN prices AS pr ON p.product_id = pr.product_id; ALL LEFT JOIN dsolovianov.prices AS pr ON p.product_id = pr.product_id;
/* `ALL LEFT JOIN` в Clickhouse ведет себя также, как LEFT JOIN в SQL, то есть собирает все совпадения. /* `ALL LEFT JOIN` в Clickhouse ведет себя также, как LEFT JOIN в SQL, то есть собирает все совпадения.
Начинается перегон данных между таблицами. Из-за этого растет нагрузка на ОЗУ и CPU. Начинается перегон данных между таблицами. Из-за этого растет нагрузка на ОЗУ и CPU.