ADMIN PART:
SQL PART:
---BACKUP PARTITIONS (real it simple files):------ Получить список всех таблиц и их партиций базы данных: SELECT partition, table, database FROM system.parts WHERE active AND database = 'default'; Фризим партиции: ALTER TABLE default.carts FREEZE PARTITION '197510'; ... ----Show all partitioans for all tables:--- SELECT * FROM system.parts; Only actual: SELECT partition, name, table FROM system.parts WHERE active; -----Show all storages for curr database:----------- SELECT partition, table, database FROM system.parts WHERE active AND database = 'default'; ---DROP STORAGE:----- DROP TABLE users; ---Size of all tables in database:---------- SELECT table, round(sum(bytes) / 1024/1024/1024, 2) as size_gb FROM system.parts WHERE active GROUP BY table ORDER BY size_gb DESC ---
SQL PART:
CREATE TABLE users
(
user_id UInt32,
email String,
team String,
position String,
updated_date date
)
ENGINE = ReplacingMergeTree(updated_date, (user_id), 8192);
INSERT INTO users VALUES(1, 'den@ruhighload.com', 'ruhighload', 'engineer', today());
Запрос:
SELECT * FROM users;
Правильнее делать так:
SELECT * FROM users FINAL;
------------Table for records:--------------
CREATE TABLE metrics
( time DateTime, name String, value Int64)
ENGINE = MergeTree
PARTITION BY name
ORDER BY time
SETTINGS index_granularity = 8192
---JOINand subqueries:------
SELECT date, source, pageviews, revenue, ad_spent FROM
( SELECT date, source, sum(val) pageviews FROM pageviews GROUP BY date, source )
ANY INNER JOIN
(
SELECT date, source, revenue, ad_spent FROM
( SELECT date, source, sum(amount) revenue FROM revenue GROUP BY date, source )
ANY INNER JOIN
( SELECT date, source, sum(amount) ad_spent FROM ad_spending GROUP BY date, source )
USING date, source
)
USING date, source;
---Indexes:-------
CREATE TABLE products_views (
date Date,
product_id UInt32,
product_name String,
product_category UInt8
) ENGINE = MergeTree(date, (product_id), 8192)
----Indexes complex:----
CREATE TABLE products_views (
date Date,
product_id UInt32,
product_name String,
product_category UInt8
) ENGINE = MergeTree(date, (product_id, url), 8192)
---Проверка использования индекса:---
Однако в логе запросов можно убедиться, что индекс будет использован:
tail -f /var/log/clickhouse-server/clickhouse-server.log
Если индекс используется мы увидим такие строки в файле:
[ 20 ] default.stats (SelectExecutor): Key condition: (column 0 in [751, 751])
В противном случае, если базе не удалось использовать индекс, мы увидим вот что:
[ 20 ] default.stats (SelectExecutor): Key condition: unknown
---
Комментариев нет :
Отправить комментарий
Благодарю за ваше участие!