* split up select.md * array-join.md basic refactoring * distinct.md basic refactoring * format.md basic refactoring * from.md basic refactoring * group-by.md basic refactoring * having.md basic refactoring * additional index.md refactoring * into-outfile.md basic refactoring * join.md basic refactoring * limit.md basic refactoring * limit-by.md basic refactoring * order-by.md basic refactoring * prewhere.md basic refactoring * adjust operators/index.md links * adjust sample.md links * adjust more links * adjust operatots links * fix some links * adjust aggregate function article titles * basic refactor of remaining select clauses * absolute paths in make_links.sh * run make_links.sh * remove old select.md locations * translate docs/es * translate docs/fr * translate docs/fa * remove old operators.md location * change operators.md links * adjust links in docs/es * adjust links in docs/es * minor texts adjustments * wip * update machine translations to use new links * fix changelog * es build fixes * get rid of some select.md links * temporary adjust ru links * temporary adjust more ru links * improve curly brace handling * adjust ru as well * fa build fix * ru link fixes * zh link fixes * temporary disable part of anchor checks
2.8 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 72537a2d52 |
33 | ReplacingMergeTree |
ReplacingMergeTree
El motor difiere de Método de codificación de datos: en que elimina las entradas duplicadas con el mismo valor de clave principal (o más exactamente, con el mismo clave de clasificación valor).
La desduplicación de datos solo se produce durante una fusión. La fusión ocurre en segundo plano en un momento desconocido, por lo que no puede planificarla. Algunos de los datos pueden permanecer sin procesar. Aunque puede ejecutar una fusión no programada utilizando el OPTIMIZE
consulta, no cuente con usarlo, porque el OPTIMIZE
consulta leerá y escribirá una gran cantidad de datos.
Así, ReplacingMergeTree
es adecuado para borrar datos duplicados en segundo plano para ahorrar espacio, pero no garantiza la ausencia de duplicados.
Creación de una tabla
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
...
) ENGINE = ReplacingMergeTree([ver])
[PARTITION BY expr]
[ORDER BY expr]
[PRIMARY KEY expr]
[SAMPLE BY expr]
[SETTINGS name=value, ...]
Para obtener una descripción de los parámetros de solicitud, consulte descripción de la solicitud.
ReplacingMergeTree Parámetros
-
ver
— column with version. TypeUInt*
,Date
oDateTime
. Parámetro opcional.Al fusionar,
ReplacingMergeTree
de todas las filas con la misma clave primaria deja solo una:- Último en la selección, si
ver
no establecido. - Con la versión máxima, si
ver
indicado.
- Último en la selección, si
Cláusulas de consulta
Al crear un ReplacingMergeTree
mesa de la misma clausula se requieren, como al crear un MergeTree
tabla.
Método obsoleto para crear una tabla
!!! attention "Atención" No use este método en proyectos nuevos y, si es posible, cambie los proyectos antiguos al método descrito anteriormente.
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
...
) ENGINE [=] ReplacingMergeTree(date-column [, sampling_expression], (primary, key), index_granularity, [ver])
Todos los parámetros excepto ver
el mismo significado que en MergeTree
.
ver
- columna con la versión. Parámetro opcional. Para una descripción, vea el texto anterior.