diff options
| author | bazeltsev <[email protected]> | 2023-03-21 12:59:19 +0300 |
|---|---|---|
| committer | bazeltsev <[email protected]> | 2023-03-21 12:59:19 +0300 |
| commit | 16af526b6df93f622c2177580e6cf693d2306e5e (patch) | |
| tree | 9d53445967b1da45b3d6817e7a7e0e9b3c229622 | |
| parent | 6c583eeffc50a6ee9277f24d25c5705ea9b9ccd7 (diff) | |
Index rename tail
updated
3 files changed, 17 insertions, 12 deletions
diff --git a/ydb/docs/ru/core/best_practices/_includes/secondary_indexes.md b/ydb/docs/ru/core/best_practices/_includes/secondary_indexes.md index 89751f38aed..6c5c482d510 100644 --- a/ydb/docs/ru/core/best_practices/_includes/secondary_indexes.md +++ b/ydb/docs/ru/core/best_practices/_includes/secondary_indexes.md @@ -82,13 +82,11 @@ FROM series VIEW views_index WHERE views = 0; ``` -## Атомарная подмена вторичного индекса под {#atomic_index_replacement} +## Атомарная замена вторичного индекса {#atomic-index-replacement} -Существует возможность атомарной замены вторичного индекса. Для работающих приложений эта операция прозрачна - в момент подмены индекса произойдет инвалидация скомпилированных запросов. Последовательность действий: - -1. Создать [новый индекс](#create) одним из указанных способов -2. Атомарно заменить существующий индекс с использованием [комманды YDB CLI](../../reference/ydb-cli/commands/secondary_index.md#rename) +Существующий вторичный индекс можно заменить атомарно. Это может быть полезно, например, для замены индекса на [покрывающий](../../concepts/secondary_indexes.md#covering). Для работающих приложений эта операция прозрачна — в момент замены индекса произойдет инвалидация скомпилированных запросов. +Атомарно заменить существующий индекс можно с помощью команды YDB CLI [{{ ydb-cli }} table index rename](../../reference/ydb-cli/commands/secondary_index.md#rename) с параметром `--replace`. ## Производительность записи в таблицы со вторичными индексами {#write_performance} diff --git a/ydb/docs/ru/core/reference/ydb-cli/commands/_includes/secondary_index.md b/ydb/docs/ru/core/reference/ydb-cli/commands/_includes/secondary_index.md index 4ca48f35291..52e5c400b75 100644 --- a/ydb/docs/ru/core/reference/ydb-cli/commands/_includes/secondary_index.md +++ b/ydb/docs/ru/core/reference/ydb-cli/commands/_includes/secondary_index.md @@ -33,7 +33,7 @@ `--cover STR`: Необязательный параметр, в котором определяется состав [покрывающих колонок](../../../../concepts/secondary_indexes.md#cover) индекса. Их значения не будут включены в состав ключа индекса, но будут скопированы в записи в индексе для получения их значений при поиске по индексу без необходимости обращения к таблице. -В результате успешного исполнения команды запускается фоновая операция построения индекса, и в выделенном псевдографикой поле `id` возвращается идентификатор операции для дальнейшего получения информации о её статусе командой `operation get`. Незаконченное построение индекса может быть прервано командой `operation cancel`. +В результате успешного исполнения команды запускается фоновая операция построения индекса, и в выделенном псевдографикой поле `id` возвращается идентификатор операции для дальнейшего получения информации о ее статусе командой `operation get`. Незаконченное построение индекса может быть прервано командой `operation cancel`. После того, как построение индекса завершено (успешно или прервано), запись об операции построения может быть удалена командой `operation forget`. @@ -114,14 +114,14 @@ {{ ydb-cli }} [connection options] table index rename <table> --index-name STR --to STR ``` -Если индекс с новым именем существует, то команда вернет ошибку. -Чтобы заменить существующий индекс выполните команду переименования с опцией `--replace`. В результате выполнения такой команды существующий индекс будет заменён новым атомарно. +Если индекс с новым именем существует, команда вернет ошибку. + +Чтобы атомарно заменить существующий индекс, выполните команду переименования с параметром `--replace`: ```bash {{ ydb-cli }} [connection options] table index rename <table> --index-name STR --to STR --replace ``` - **Пример** {% include [example_db1.md](../../_includes/example_db1.md) %} diff --git a/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md b/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md index c804f7ceaeb..4f221079134 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md @@ -48,11 +48,18 @@ ALTER TABLE `series` DROP INDEX `title_index`; ## Переименование вторичного индекса {#rename-secondary-index} -```RENAME INDEX``` — переименовывает индекс с указанным именем +`RENAME INDEX` — переименовывает индекс с указанным именем. -Если индекс с новым именем существует, будет возвращена ошибка. Возможность транзакционной подмены индекса под нагрузкой поддерживается специализированными методами в [CLI](https://ydb.tech/ru/docs/reference/ydb-cli/commands/secondary_index#rename) и SDK. +Если индекс с новым именем существует, будет возвращена ошибка. + +{% if backend_name == YDB %} + +Возможность атомарной замены индекса под нагрузкой поддерживается командой [{{ ydb-cli }} table index rename](../../../../reference/ydb-cli/commands/secondary_index.md#rename) {{ ydb-short-name }} CLI и специализированными методами {{ ydb-short-name }} SDK. + +{% endif %} + +Пример переименования индекса: -Пример преименования индекса: ```sql ALTER TABLE `series` RENAME INDEX `title_index` TO `title_index_new`; ``` |
