Какие типы полей есть в Clickhouse
ClickHouse поддерживает разнообразные типы данных для эффективной работы с различными типами информации. Вот основные типы полей, которые можно использовать в ClickHouse:
1. Числовые типы:
- Целые числа:
Int8
: 8-битное целое число, от -128 до 127.Int16
: 16-битное целое число, от -32,768 до 32,767.Int32
: 32-битное целое число, от -2,147,483,648 до 2,147,483,647.Int64
: 64-битное целое число, от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807.UInt8
: 8-битное беззнаковое целое число, от 0 до 255.UInt16
: 16-битное беззнаковое целое число, от 0 до 65,535.UInt32
: 32-битное беззнаковое целое число, от 0 до 4,294,967,295.UInt64
: 64-битное беззнаковое целое число, от 0 до 18,446,744,073,709,551,615.
- Числа с плавающей точкой:
Float32
: 32-битное число с плавающей точкой (одинарная точность).Float64
: 64-битное число с плавающей точкой (двойная точность).
- Числа с фиксированной точностью:
Decimal(p, s)
: Число с фиксированной точностью, гдеp
— общая точность, аs
— количество знаков после запятой. Например,Decimal(10, 2)
может содержать числа с 10 знаками, из которых 2 знака после запятой.
2. Строковые типы:
- Строки:
String
: Строка произвольной длины. Хранит символы в кодировке UTF-8.FixedString(n)
: Строка фиксированной длиныn
. Если строка меньше указанной длины, то она будет дополнена пробелами.
3. Дата и время:
- Дата и время:
Date
: Дата в форматеYYYY-MM-DD
.DateTime
: Дата и время в форматеYYYY-MM-DD HH:MM:SS
. Местное время.DateTime64
: Дата и время с точностью до миллисекунд или микросекунд, например,DateTime64(3)
— с точностью до миллисекунд.
4. Логические типы:
- Логический тип:
Boolean
: Логический тип, может бытьtrue
илиfalse
.
5. Массивы и коллекции:
- Массивы:
Array(T)
: Массив элементов типаT
. Например,Array(Int32)
для массива целых чисел.
- Множества:
Set(T)
: Множество элементов типаT
(с уникальными значениями). Например,Set(Int32)
.
- Кортежи:
Tuple(T1, T2, ...)
: Кортеж с фиксированными типами элементов. Например,Tuple(Int32, String)
.
- Map (карты):
Map(K, V)
: Коллекция пар ключ-значение, гдеK
— тип ключа, аV
— тип значения.
6. Типы для работы с IP-адресами:
- IP-адреса:
IPv4
: Тип для хранения IPv4-адресов.IPv6
: Тип для хранения IPv6-адресов.
7. Типы для работы с UUID:
- UUID: Универсальный уникальный идентификатор (UUID). Этот тип хранит уникальные идентификаторы.
8. Типы для работы с JSON:
- JSON: Для хранения данных в формате JSON.
- JSONEachRow: Тип, который позволяет хранить данные в формате JSON с одной строкой на каждую запись.
9. Типы для работы с бинарными данными:
- UUID: Для хранения UUID в бинарном формате.
- Binary: Для хранения произвольных бинарных данных.
10. Типы для работы с географическими данными:
- GeoPoint: Тип для хранения географической точки (широта, долгота).
- GeoPolygon: Тип для хранения географического полигона.
11. Типы для работы с материализованными представлениями:
- MaterializedView: Специальный тип для представлений, которые обновляются автоматически при изменении данных.
Пример использования типов:
1 2 3 4 5 6 7 8 9 10 11 12 |
CREATE TABLE example_table ( id Int32, name String, age UInt8, created_at DateTime, is_active Boolean, scores Array(Int32), metadata Map(String, String) ) ENGINE = MergeTree() ORDER BY id; |
Заключение:
ClickHouse предоставляет широкий набор типов данных для различных типов информации, начиная от чисел и строк до более сложных типов, таких как массивы, кортежи, карты и типы для работы с географическими данными. Выбор типа данных зависит от требований к данным и эффективности запросов.
Recommended Posts
clickhouse-go лучшие практики
16.04.2024