Исправил названия схем
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user