mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 23:52:03 +00:00
Update replacingmergetree.md
This commit is contained in:
parent
b39fa2027d
commit
b4bb6f4bc3
@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
Движок таблиц отличается от `MergeTree` тем, что выполняет удаление дублирующихся записей с одинаковым значением первичного ключа.
|
Движок таблиц отличается от `MergeTree` тем, что выполняет удаление дублирующихся записей с одинаковым значением первичного ключа.
|
||||||
|
|
||||||
Последний, необязательный параметр движка таблицы - столбец с "версией". При слиянии, для всех строк с одинаковым значением первичного ключа, оставляет только одну строку: если задан столбец версии - строку с максимальной версией, иначе - последнюю строку.
|
Последний, необязательный параметр движка таблицы — столбец с версией. При слиянии для всех строк с одинаковым значением первичного ключа оставляет только одну строку: если задан столбец версии — строку с максимальной версией, иначе — последнюю строку.
|
||||||
|
|
||||||
Столбец с версией должен иметь тип из семейства `UInt`, либо `Date` или `DateTime`.
|
Столбец с версией должен иметь тип из семейства `UInt`, или `Date`, или `DateTime`.
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
ReplacingMergeTree(EventDate, (OrderID, EventDate, BannerID, ...), 8192, ver)
|
ReplacingMergeTree(EventDate, (OrderID, EventDate, BannerID, ...), 8192, ver)
|
||||||
```
|
```
|
||||||
|
|
||||||
Обратите внимание, что дедупликация данных производится лишь во время слияний. Слияние происходят в фоне, в неизвестный момент времени, на который вы не можете ориентироваться. Некоторая часть данных может так и остаться необработанной. Хотя вы можете вызвать внеочередное слияние с помощью запроса OPTIMIZE, на это не стоит рассчитывать, так как запрос OPTIMIZE приводит к чтению и записи большого объёма данных.
|
Обратите внимание, что дедупликация данных производится лишь во время слияний. Слияние происходят в фоне в неизвестный момент времени, на который вы не можете ориентироваться. Некоторая часть данных может так и остаться необработанной. Хотя вы можете вызвать внеочередное слияние с помощью запроса OPTIMIZE, на это не стоит рассчитывать, так как запрос OPTIMIZE приводит к чтению и записи большого объёма данных.
|
||||||
|
|
||||||
Таким образом, `ReplacingMergeTree` подходит для фоновой чистки дублирующихся данных в целях экономии места, но не даёт гарантий отсутствия дубликатов.
|
Таким образом, `ReplacingMergeTree` подходит для фоновой чистки дублирующихся данных в целях экономии места, но не даёт гарантий отсутствия дубликатов.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user