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 ---
Комментариев нет :
Отправить комментарий
Благодарю за ваше участие!