未验证 提交 eefb4985 编写于 作者: I Ivan Blinkov 提交者: GitHub

[docs] refactor Domains overview (#12186)

上级 ff450512
---
toc_folder_title: Domains
toc_priority: 56
toc_folder_title: Domains
toc_title: Overview
---
# Domains {#domains}
Domains are special-purpose types that add some extra features atop of existing base type, but leaving on-wire and on-disc format of the underlying data type intact. At the moment, ClickHouse does not support user-defined domains.
You can use domains anywhere corresponding base type can be used, for example:
- Create a column of a domain type
- Read/write values from/to domain column
- Use it as an index if a base type can be used as an index
- Call functions with values of domain column
### Extra Features of Domains {#extra-features-of-domains}
- Explicit column type name in `SHOW CREATE TABLE` or `DESCRIBE TABLE`
- Input from human-friendly format with `INSERT INTO domain_table(domain_column) VALUES(...)`
- Output to human-friendly format for `SELECT domain_column FROM domain_table`
- Loading data from an external source in the human-friendly format: `INSERT INTO domain_table FORMAT CSV ...`
### Limitations {#limitations}
- Can’t convert index column of base type to domain type via `ALTER TABLE`.
- Can’t implicitly convert string values into domain values when inserting data from another column or table.
- Domain adds no constrains on stored values.
[Original article](https://clickhouse.tech/docs/en/data_types/domains/) <!--hide-->
---
toc_priority: 58
toc_title: Overview
---
# Domains {#domains}
Domains are special-purpose types that add some extra features atop of existing base type, but leaving on-wire and on-disc format of the underlying data type intact. At the moment, ClickHouse does not support user-defined domains.
You can use domains anywhere corresponding base type can be used, for example:
- Create a column of a domain type
- Read/write values from/to domain column
- Use it as an index if a base type can be used as an index
- Call functions with values of domain column
### Extra Features of Domains {#extra-features-of-domains}
- Explicit column type name in `SHOW CREATE TABLE` or `DESCRIBE TABLE`
- Input from human-friendly format with `INSERT INTO domain_table(domain_column) VALUES(...)`
- Output to human-friendly format for `SELECT domain_column FROM domain_table`
- Loading data from an external source in the human-friendly format: `INSERT INTO domain_table FORMAT CSV ...`
### Limitations {#limitations}
- Can’t convert index column of base type to domain type via `ALTER TABLE`.
- Can’t implicitly convert string values into domain values when inserting data from another column or table.
- Domain adds no constrains on stored values.
[Original article](https://clickhouse.tech/docs/en/data_types/domains/overview) <!--hide-->
---
machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
toc_folder_title: Dominio
toc_priority: 56
toc_folder_title: Dominio
toc_title: "Descripci\xF3n"
---
# Dominio {#domains}
Los dominios son tipos de propósito especial que agregan algunas características adicionales encima del tipo base existente, pero dejando intacto el formato en cable y en disco del tipo de datos subyacente. Por el momento, ClickHouse no admite dominios definidos por el usuario.
Puede usar dominios en cualquier lugar que se pueda usar el tipo base correspondiente, por ejemplo:
- Crear una columna de un tipo de dominio
- Leer/escribir valores desde/a la columna de dominio
- Úselo como un índice si un tipo base se puede usar como un índice
- Funciones de llamada con valores de la columna de dominio
### Características adicionales de los dominios {#extra-features-of-domains}
- Nombre de tipo de columna explícito en `SHOW CREATE TABLE` o `DESCRIBE TABLE`
- Entrada del formato humano-amistoso con `INSERT INTO domain_table(domain_column) VALUES(...)`
- Salida al formato humano-amistoso para `SELECT domain_column FROM domain_table`
- Carga de datos desde una fuente externa en el formato de uso humano: `INSERT INTO domain_table FORMAT CSV ...`
### Limitacion {#limitations}
- No se puede convertir la columna de índice del tipo base al tipo de dominio a través de `ALTER TABLE`.
- No se pueden convertir implícitamente valores de cadena en valores de dominio al insertar datos de otra columna o tabla.
- Domain no agrega restricciones en los valores almacenados.
[Artículo Original](https://clickhouse.tech/docs/en/data_types/domains/) <!--hide-->
---
machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
toc_priority: 58
toc_title: "Descripci\xF3n"
---
# Dominio {#domains}
Los dominios son tipos de propósito especial que agregan algunas características adicionales encima del tipo base existente, pero dejando intacto el formato en cable y en disco del tipo de datos subyacente. Por el momento, ClickHouse no admite dominios definidos por el usuario.
Puede usar dominios en cualquier lugar que se pueda usar el tipo base correspondiente, por ejemplo:
- Crear una columna de un tipo de dominio
- Leer/escribir valores desde/a la columna de dominio
- Úselo como un índice si un tipo base se puede usar como un índice
- Funciones de llamada con valores de la columna de dominio
### Características adicionales de los dominios {#extra-features-of-domains}
- Nombre de tipo de columna explícito en `SHOW CREATE TABLE` o `DESCRIBE TABLE`
- Entrada del formato humano-amistoso con `INSERT INTO domain_table(domain_column) VALUES(...)`
- Salida al formato humano-amistoso para `SELECT domain_column FROM domain_table`
- Carga de datos desde una fuente externa en el formato de uso humano: `INSERT INTO domain_table FORMAT CSV ...`
### Limitacion {#limitations}
- No se puede convertir la columna de índice del tipo base al tipo de dominio a través de `ALTER TABLE`.
- No se pueden convertir implícitamente valores de cadena en valores de dominio al insertar datos de otra columna o tabla.
- Domain no agrega restricciones en los valores almacenados.
[Artículo Original](https://clickhouse.tech/docs/en/data_types/domains/overview) <!--hide-->
---
machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
toc_folder_title: "\u062F\u0627\u0645\u0646\u0647"
toc_priority: 56
toc_folder_title: "\u062F\u0627\u0645\u0646\u0647"
toc_title: "\u0628\u0631\u0631\u0633\u06CC \u0627\u062C\u0645\u0627\u0644\u06CC"
---
# دامنه {#domains}
دامنه انواع خاصی است که اضافه کردن برخی از ویژگی های اضافی در بالای نوع پایه موجود, اما ترک بر روی سیم و بر روی دیسک فرمت از نوع داده اساسی دست نخورده. درحال حاضر, تاتر می کند دامنه تعریف شده توسط کاربر را پشتیبانی نمی کند.
شما می توانید دامنه در هر نقطه نوع پایه مربوطه استفاده می شود, مثلا:
- ایجاد یک ستون از یک نوع دامنه
- خواندن / نوشتن مقادیر از / به ستون دامنه
- اگر یک نوع پایه می تواند به عنوان یک شاخص استفاده می شود به عنوان شاخص استفاده می شود
- توابع تماس با مقادیر ستون دامنه
### ویژگی های اضافی از دامنه {#extra-features-of-domains}
- صریح نام نوع ستون در `SHOW CREATE TABLE` یا `DESCRIBE TABLE`
- ورودی از فرمت انسان دوستانه با `INSERT INTO domain_table(domain_column) VALUES(...)`
- خروجی به فرمت انسان دوستانه برای `SELECT domain_column FROM domain_table`
- بارگیری داده ها از یک منبع خارجی در قالب انسان دوستانه: `INSERT INTO domain_table FORMAT CSV ...`
### محدودیت ها {#limitations}
- می توانید ستون شاخص از نوع پایه به نوع دامنه از طریق تبدیل کنید `ALTER TABLE`.
- نمی تواند به طور ضمنی تبدیل مقادیر رشته به ارزش دامنه در هنگام قرار دادن داده ها از ستون یا جدول دیگر.
- دامنه می افزاید: هیچ محدودیتی در مقادیر ذخیره شده.
[مقاله اصلی](https://clickhouse.tech/docs/en/data_types/domains/overview) <!--hide-->
---
machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
toc_priority: 58
toc_title: "\u0628\u0631\u0631\u0633\u06CC \u0627\u062C\u0645\u0627\u0644\u06CC"
---
# دامنه {#domains}
دامنه انواع خاصی است که اضافه کردن برخی از ویژگی های اضافی در بالای نوع پایه موجود, اما ترک بر روی سیم و بر روی دیسک فرمت از نوع داده اساسی دست نخورده. درحال حاضر, تاتر می کند دامنه تعریف شده توسط کاربر را پشتیبانی نمی کند.
شما می توانید دامنه در هر نقطه نوع پایه مربوطه استفاده می شود, مثلا:
- ایجاد یک ستون از یک نوع دامنه
- خواندن / نوشتن مقادیر از / به ستون دامنه
- اگر یک نوع پایه می تواند به عنوان یک شاخص استفاده می شود به عنوان شاخص استفاده می شود
- توابع تماس با مقادیر ستون دامنه
### ویژگی های اضافی از دامنه {#extra-features-of-domains}
- صریح نام نوع ستون در `SHOW CREATE TABLE` یا `DESCRIBE TABLE`
- ورودی از فرمت انسان دوستانه با `INSERT INTO domain_table(domain_column) VALUES(...)`
- خروجی به فرمت انسان دوستانه برای `SELECT domain_column FROM domain_table`
- بارگیری داده ها از یک منبع خارجی در قالب انسان دوستانه: `INSERT INTO domain_table FORMAT CSV ...`
### محدودیت ها {#limitations}
- می توانید ستون شاخص از نوع پایه به نوع دامنه از طریق تبدیل کنید `ALTER TABLE`.
- نمی تواند به طور ضمنی تبدیل مقادیر رشته به ارزش دامنه در هنگام قرار دادن داده ها از ستون یا جدول دیگر.
- دامنه می افزاید: هیچ محدودیتی در مقادیر ذخیره شده.
[مقاله اصلی](https://clickhouse.tech/docs/en/data_types/domains/overview) <!--hide-->
......@@ -3,6 +3,31 @@ machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
toc_folder_title: Domaine
toc_priority: 56
toc_title: "Aper\xE7u"
---
# Domaine {#domains}
Les domaines sont des types spéciaux qui ajoutent des fonctionnalités supplémentaires au sommet du type de base existant, mais en laissant le format on-wire et on-disc du type de données sous-jacent intact. À l'heure actuelle, ClickHouse ne prend pas en charge les domaines définis par l'utilisateur.
Vous pouvez utiliser des domaines partout type de base correspondant peut être utilisé, par exemple:
- Créer une colonne d'un type de domaine
- Valeurs de lecture / écriture depuis / vers la colonne de domaine
- L'utiliser comme un indice si un type de base peut être utilisée comme un indice
- Fonctions d'appel avec des valeurs de colonne de domaine
### Fonctionnalités supplémentaires des domaines {#extra-features-of-domains}
- Nom de type de colonne explicite dans `SHOW CREATE TABLE` ou `DESCRIBE TABLE`
- Entrée du format convivial avec `INSERT INTO domain_table(domain_column) VALUES(...)`
- Sortie au format convivial pour `SELECT domain_column FROM domain_table`
- Chargement de données à partir d'une source externe dans un format convivial: `INSERT INTO domain_table FORMAT CSV ...`
### Limitation {#limitations}
- Impossible de convertir la colonne d'index du type de base en type de domaine via `ALTER TABLE`.
- Impossible de convertir implicitement des valeurs de chaîne en valeurs de domaine lors de l'insertion de données d'une autre colonne ou table.
- Le domaine n'ajoute aucune contrainte sur les valeurs stockées.
[Article Original](https://clickhouse.tech/docs/en/data_types/domains/overview) <!--hide-->
---
machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
toc_priority: 58
toc_title: "Aper\xE7u"
---
# Domaine {#domains}
Les domaines sont des types spéciaux qui ajoutent des fonctionnalités supplémentaires au sommet du type de base existant, mais en laissant le format on-wire et on-disc du type de données sous-jacent intact. À l'heure actuelle, ClickHouse ne prend pas en charge les domaines définis par l'utilisateur.
Vous pouvez utiliser des domaines partout type de base correspondant peut être utilisé, par exemple:
- Créer une colonne d'un type de domaine
- Valeurs de lecture / écriture depuis / vers la colonne de domaine
- L'utiliser comme un indice si un type de base peut être utilisée comme un indice
- Fonctions d'appel avec des valeurs de colonne de domaine
### Fonctionnalités supplémentaires des domaines {#extra-features-of-domains}
- Nom de type de colonne explicite dans `SHOW CREATE TABLE` ou `DESCRIBE TABLE`
- Entrée du format convivial avec `INSERT INTO domain_table(domain_column) VALUES(...)`
- Sortie au format convivial pour `SELECT domain_column FROM domain_table`
- Chargement de données à partir d'une source externe dans un format convivial: `INSERT INTO domain_table FORMAT CSV ...`
### Limitation {#limitations}
- Impossible de convertir la colonne d'index du type de base en type de domaine via `ALTER TABLE`.
- Impossible de convertir implicitement des valeurs de chaîne en valeurs de domaine lors de l'insertion de données d'une autre colonne ou table.
- Le domaine n'ajoute aucune contrainte sur les valeurs stockées.
[Article Original](https://clickhouse.tech/docs/en/data_types/domains/overview) <!--hide-->
......@@ -3,6 +3,31 @@ machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
toc_folder_title: "\u30C9\u30E1\u30A4\u30F3"
toc_priority: 56
toc_title: "\u6982\u8981"
---
# ドメイン {#domains}
ドメインは、既存の基本型の上にいくつかの余分な機能を追加する特殊な目的の型ですが、基になるデータ型のオンワイヤおよびオンディスク形式は 現時点では、ClickHouseはユーザー定義ドメインをサポートしていません。
たとえば、対応する基本タイプを使用できる任意の場所でドメインを使用できます:
- ドメイン型の列を作成する
- ドメイン列から/への読み取り/書き込み値
- 基本型をインデックスとして使用できる場合は、インデックスとして使用します
- ドメイン列の値を持つ関数の呼び出し
### ドメインの追加機能 {#extra-features-of-domains}
- 明示的な列タイプ名 `SHOW CREATE TABLE` または `DESCRIBE TABLE`
- 人間に優しいフォーマットからの入力 `INSERT INTO domain_table(domain_column) VALUES(...)`
- 人間に優しいフォーマットへの出力 `SELECT domain_column FROM domain_table`
- 人間に優しい形式で外部ソースからデータを読み込む: `INSERT INTO domain_table FORMAT CSV ...`
### 制限 {#limitations}
- 基本型のインデックス列をドメイン型に変換できません `ALTER TABLE`.
- 別の列または表からデータを挿入するときに、文字列値を暗黙的にドメイン値に変換できません。
- ドメインは、格納された値に制約を追加しません。
[元の記事](https://clickhouse.tech/docs/en/data_types/domains/overview) <!--hide-->
---
machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
toc_priority: 58
toc_title: "\u6982\u8981"
---
# ドメイン {#domains}
ドメインは、既存の基本型の上にいくつかの余分な機能を追加する特殊な目的の型ですが、基になるデータ型のオンワイヤおよびオンディスク形式は 現時点では、ClickHouseはユーザー定義ドメインをサポートしていません。
たとえば、対応する基本タイプを使用できる任意の場所でドメインを使用できます:
- ドメイン型の列を作成する
- ドメイン列から/への読み取り/書き込み値
- 基本型をインデックスとして使用できる場合は、インデックスとして使用します
- ドメイン列の値を持つ関数の呼び出し
### ドメインの追加機能 {#extra-features-of-domains}
- 明示的な列タイプ名 `SHOW CREATE TABLE` または `DESCRIBE TABLE`
- 人間に優しいフォーマットからの入力 `INSERT INTO domain_table(domain_column) VALUES(...)`
- 人間に優しいフォーマットへの出力 `SELECT domain_column FROM domain_table`
- 人間に優しい形式で外部ソースからデータを読み込む: `INSERT INTO domain_table FORMAT CSV ...`
### 制限 {#limitations}
- 基本型のインデックス列をドメイン型に変換できません `ALTER TABLE`.
- 別の列または表からデータを挿入するときに、文字列値を暗黙的にドメイン値に変換できません。
- ドメインは、格納された値に制約を追加しません。
[元の記事](https://clickhouse.tech/docs/en/data_types/domains/overview) <!--hide-->
......@@ -290,6 +290,7 @@ query_language/table_functions/remote.md sql-reference/table-functions/remote.md
query_language/table_functions/url.md sql-reference/table-functions/url.md
roadmap.md whats-new/roadmap.md
security_changelog.md whats-new/security-changelog.md
sql-reference/data-types/domains/overview.md sql-reference/data-types/domains/index.md
sql_reference/aggregate_functions/combinators.md sql-reference/aggregate-functions/combinators.md
sql_reference/aggregate_functions/index.md sql-reference/aggregate-functions/index.md
sql_reference/aggregate_functions/parametric_functions.md sql-reference/aggregate-functions/parametric-functions.md
......
---
toc_folder_title: Domains
toc_folder_title: Домены
toc_title_title: Обзор
toc_priority: 56
---
# Домены {#domeny}
Домены — это типы данных специального назначения, которые добавляют некоторые дополнительные функции поверх существующего базового типа. На данный момент ClickHouse не поддерживает пользовательские домены.
Вы можете использовать домены везде, где можно использовать соответствующий базовый тип:
- Создание столбца с доменным типом данных.
- Чтение/запись значений из/в столбец с доменным типом данных.
- Используйте его как индекс, если базовый тип можно использовать в качестве индекса.
- Вызов функций со значениями столбца, имеющего доменный тип данных.
- и так далее.
### Дополнительные возможности доменов {#dopolnitelnye-vozmozhnosti-domenov}
- Явное название типа данных столбца в запросах `SHOW CREATE TABLE` и `DESCRIBE TABLE`
- Ввод данных в удобном человеку формате `INSERT INTO domain_table(domain_column) VALUES(...)`
- Вывод данных в удобном человеку формате `SELECT domain_column FROM domain_table`
- Загрузка данных из внешнего источника в удобном для человека формате: `INSERT INTO domain_table FORMAT CSV ...`
### Ограничения {#ogranicheniia}
- Невозможно преобразовать базовый тип данных в доменный для индексного столбца с помощью `ALTER TABLE`.
- Невозможно неявно преобразовывать строковые значение в значения с доменным типом данных при вставке данных из другого столбца или таблицы.
- Домен не добавляет ограничения на хранимые значения.
[Оригинальная статья](https://clickhouse.tech/docs/ru/data_types/domains/overview) <!--hide-->
# Домены {#domeny}
Домены — это типы данных специального назначения, которые добавляют некоторые дополнительные функции поверх существующего базового типа. На данный момент ClickHouse не поддерживает пользовательские домены.
Вы можете использовать домены везде, где можно использовать соответствующий базовый тип:
- Создание столбца с доменным типом данных.
- Чтение/запись значений из/в столбец с доменным типом данных.
- Используйте его как индекс, если базовый тип можно использовать в качестве индекса.
- Вызов функций со значениями столбца, имеющего доменный тип данных.
- и так далее.
### Дополнительные возможности доменов {#dopolnitelnye-vozmozhnosti-domenov}
- Явное название типа данных столбца в запросах `SHOW CREATE TABLE` и `DESCRIBE TABLE`
- Ввод данных в удобном человеку формате `INSERT INTO domain_table(domain_column) VALUES(...)`
- Вывод данных в удобном человеку формате `SELECT domain_column FROM domain_table`
- Загрузка данных из внешнего источника в удобном для человека формате: `INSERT INTO domain_table FORMAT CSV ...`
### Ограничения {#ogranicheniia}
- Невозможно преобразовать базовый тип данных в доменный для индексного столбца с помощью `ALTER TABLE`.
- Невозможно неявно преобразовывать строковые значение в значения с доменным типом данных при вставке данных из другого столбца или таблицы.
- Домен не добавляет ограничения на хранимые значения.
[Оригинальная статья](https://clickhouse.tech/docs/ru/data_types/domains/overview) <!--hide-->
---
machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
toc_priority: 58
toc_title: "Genel bak\u0131\u015F"
toc_folder_title: Etkiler
toc_priority: 56
---
# Etkiler {#domains}
Etki alanları, varolan temel türün üstüne bazı ek özellikler ekleyen, ancak temel veri türünün kablolu ve disk üstü biçimini sağlam bırakan özel amaçlı türlerdir. Şu anda, ClickHouse kullanıcı tanımlı etki alanlarını desteklemiyor.
Örneğin, ilgili taban türünün kullanılabileceği her yerde etki alanlarını kullanabilirsiniz:
- Etki alanı türünde bir sütun oluşturma
- Alan sütunundan/alanına değerleri okuma / yazma
- Bir temel türü bir dizin olarak kullanılabilir, bir dizin olarak kullanın
- Etki alanı sütun değerleri ile çağrı fonksiyonları
### Alanların ekstra özellikleri {#extra-features-of-domains}
- Açık sütun türü adı `SHOW CREATE TABLE` veya `DESCRIBE TABLE`
- İle insan dostu format inputtan giriş `INSERT INTO domain_table(domain_column) VALUES(...)`
- İçin insan dostu forma outputta çıktı `SELECT domain_column FROM domain_table`
- Harici bir kaynaktan insan dostu biçimde veri yükleme: `INSERT INTO domain_table FORMAT CSV ...`
### Sınırlamalar {#limitations}
- Temel türün dizin sütununu etki alanı türüne dönüştürülemiyor `ALTER TABLE`.
- Başka bir sütun veya tablodan veri eklerken dize değerlerini dolaylı olarak etki alanı değerlerine dönüştüremez.
- Etki alanı, depolanan değerler üzerinde hiçbir kısıtlama ekler.
[Orijinal makale](https://clickhouse.tech/docs/en/data_types/domains/overview) <!--hide-->
---
machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
toc_priority: 58
toc_title: "Genel bak\u0131\u015F"
---
# Etkiler {#domains}
Etki alanları, varolan temel türün üstüne bazı ek özellikler ekleyen, ancak temel veri türünün kablolu ve disk üstü biçimini sağlam bırakan özel amaçlı türlerdir. Şu anda, ClickHouse kullanıcı tanımlı etki alanlarını desteklemiyor.
Örneğin, ilgili taban türünün kullanılabileceği her yerde etki alanlarını kullanabilirsiniz:
- Etki alanı türünde bir sütun oluşturma
- Alan sütunundan/alanına değerleri okuma / yazma
- Bir temel türü bir dizin olarak kullanılabilir, bir dizin olarak kullanın
- Etki alanı sütun değerleri ile çağrı fonksiyonları
### Alanların ekstra özellikleri {#extra-features-of-domains}
- Açık sütun türü adı `SHOW CREATE TABLE` veya `DESCRIBE TABLE`
- İle insan dostu format inputtan giriş `INSERT INTO domain_table(domain_column) VALUES(...)`
- İçin insan dostu forma outputta çıktı `SELECT domain_column FROM domain_table`
- Harici bir kaynaktan insan dostu biçimde veri yükleme: `INSERT INTO domain_table FORMAT CSV ...`
### Sınırlamalar {#limitations}
- Temel türün dizin sütununu etki alanı türüne dönüştürülemiyor `ALTER TABLE`.
- Başka bir sütun veya tablodan veri eklerken dize değerlerini dolaylı olarak etki alanı değerlerine dönüştüremez.
- Etki alanı, depolanan değerler üzerinde hiçbir kısıtlama ekler.
[Orijinal makale](https://clickhouse.tech/docs/en/data_types/domains/overview) <!--hide-->
---
machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
toc_folder_title: "\u57DF"
toc_title: "域"
toc_priority: 56
---
# 域 {#domains}
Domain类型是特定实现的类型,它总是与某个现存的基础类型保持二进制兼容的同时添加一些额外的特性,以能够在维持磁盘数据不变的情况下使用这些额外的特性。目前ClickHouse暂不支持自定义domain类型。
如果你可以在一个地方使用与Domain类型二进制兼容的基础类型,那么在相同的地方您也可以使用Domain类型,例如:
- 使用Domain类型作为表中列的类型
- 对Domain类型的列进行读/写数据
- 如果与Domain二进制兼容的基础类型可以作为索引,那么Domain类型也可以作为索引
- 将Domain类型作为参数传递给函数使用
- 其他
### Domains的额外特性 {#domainsde-e-wai-te-xing}
- 在执行SHOW CREATE TABLE 或 DESCRIBE TABLE时,其对应的列总是展示为Domain类型的名称
- 在INSERT INTO domain\_table(domain\_column) VALUES(…)中输入数据总是以更人性化的格式进行输入
- 在SELECT domain\_column FROM domain\_table中数据总是以更人性化的格式输出
- 在INSERT INTO domain\_table FORMAT CSV …中,实现外部源数据以更人性化的格式载入
### Domains类型的限制 {#domainslei-xing-de-xian-zhi}
- 无法通过`ALTER TABLE`将基础类型的索引转换为Domain类型的索引。
- 当从其他列或表插入数据时,无法将string类型的值隐式地转换为Domain类型的值。
- 无法对存储为Domain类型的值添加约束。
[来源文章](https://clickhouse.tech/docs/en/data_types/domains/overview) <!--hide-->
# 域 {#domains}
Domain类型是特定实现的类型,它总是与某个现存的基础类型保持二进制兼容的同时添加一些额外的特性,以能够在维持磁盘数据不变的情况下使用这些额外的特性。目前ClickHouse暂不支持自定义domain类型。
如果你可以在一个地方使用与Domain类型二进制兼容的基础类型,那么在相同的地方您也可以使用Domain类型,例如:
- 使用Domain类型作为表中列的类型
- 对Domain类型的列进行读/写数据
- 如果与Domain二进制兼容的基础类型可以作为索引,那么Domain类型也可以作为索引
- 将Domain类型作为参数传递给函数使用
- 其他
### Domains的额外特性 {#domainsde-e-wai-te-xing}
- 在执行SHOW CREATE TABLE 或 DESCRIBE TABLE时,其对应的列总是展示为Domain类型的名称
- 在INSERT INTO domain\_table(domain\_column) VALUES(…)中输入数据总是以更人性化的格式进行输入
- 在SELECT domain\_column FROM domain\_table中数据总是以更人性化的格式输出
- 在INSERT INTO domain\_table FORMAT CSV …中,实现外部源数据以更人性化的格式载入
### Domains类型的限制 {#domainslei-xing-de-xian-zhi}
- 无法通过`ALTER TABLE`将基础类型的索引转换为Domain类型的索引。
- 当从其他列或表插入数据时,无法将string类型的值隐式地转换为Domain类型的值。
- 无法对存储为Domain类型的值添加约束。
[来源文章](https://clickhouse.tech/docs/en/data_types/domains/overview) <!--hide-->
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册