Команда .drop экстентов
Область применения: ✅Microsoft Fabric✅Azure Data Explorer
Удаляет экстенты из указанной базы данных или таблицы.
Эта команда имеет несколько вариантов: в одной из них удаляются экстенты, указываются запросом Kusto. В других вариантах экстенты задаются с помощью мини-языка, описанного ниже.
Примечание.
Сегменты данных называются экстентами, и все команды используют "экстент" или "экстенты" в качестве синонима. Дополнительные сведения об экстентах см. в разделе "Экстенты" (сегменты данных).
Внимание
Если удалить экстент, все строки в этом экстенте будут удалены. Чтобы удалить отдельные записи, используйте обратимое удаление.
Разрешения
Если указано имя таблицы, для выполнения команды необходимо иметь по крайней мере разрешения администратора таблицы.
Если имя таблицы не указано, для выполнения команды необходимо иметь по крайней мере разрешения администратора базы данных.
Синтаксис
Удаление экстентов с запросом
.drop
extents
[whatif
] <|
Запрос
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
whatif |
string |
При указании экстенты будут сообщаться вместо удаления. | |
Запрос | string |
✔️ | Результаты этого запроса язык запросов Kusto (KQL) указывают исходные таблицы и идентификаторы экстентов, которые необходимо удалить. Должен возвращать набор записей с столбцами "ExtentId" и "TableName". |
Удаление определенного или нескольких экстентов
.drop
extents
(
Имя таблицы ExtentIds)
from
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
ExtentIds | guid |
✔️ | Один или несколько уникальных идентификаторов, разделенных запятыми, для удаления экстентов. |
TableName | string |
Имя таблицы, в которой находится степень удаления. |
Удаление экстентов по указанным свойствам
.drop
extents
[older
N ()] (hours
| days
TableNameall
| tables
) [trim
by
(extentsize
| datasize
) Size (MB
GB
| bytes
| )] from
[limit
LimitCount]
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
N | int |
✔️ | Удаление экстентов старше N дней/часов. |
TableName | string |
Имя таблицы, в которой находится степень удаления | |
Размер | int |
✔️ | Обрезать данные в базе данных до тех пор, пока сумма экстентов не соответствует требуемому размеру (MaxSize). |
LimitCount | int |
✔️ | Применяется к первым экстентам LimitCount . |
Команда поддерживает режим эмуляции, который создает выходные данные, как если бы команда выполнялась, но не выполняя ее. Используйте .drop-pretend
вместо .drop
.
Возвраты
Команда возвращает таблицу со следующими сведениями.
Выходной параметр | Тип | Описание |
---|---|---|
ExtentId | string |
ExtentId, который был удален из-за команды |
TableName | string |
Имя таблицы, где принадлежит экстент |
CreatedOn | dateTime |
Метка времени, содержащая сведения о том, когда экстент был создан изначально |
Например, возвращаемое значение команды может выглядеть следующим образом.
Идентификатор экстентов | Имя таблицы | Создано |
---|---|---|
43c6e03f-1713-4ca7-a52a-5db8a4e8b87d | TestTable | 2015-01-12 12:48:49.4298178 |
Примеры
Удаление определенной экстенты
Используйте идентификатор экстентов, чтобы удалить определенную степень.
.drop extent 609ad1e2-5b1c-4b79-90c0-1dec262e9f46 from Table1
Удаление нескольких экстентов
Используйте список идентификаторов экстентов для удаления нескольких экстентов.
.drop extents (609ad1e2-5b1c-4b79-90c0-1dec262e9f46, 310a60c6-8529-4cdf-a309-fe6aa7857e1d) from Table1
Удаление всех экстентов по времени создания
Удаление всех экстентов, созданных более 10 дней назад, из всех таблиц в базе данных MyDatabase
.drop extents <| .show database MyDatabase extents | where CreatedOn < now() - time(10d)
Удаление некоторых экстентов по времени создания
Удаление всех экстентов в таблицах Table1
и Table2
время создания которого было более 10 дней назад
.drop extents older 10 days from tables (Table1, Table2)
Удаление экстентов с помощью extent_id()
Удалите экстент из таблицы с помощью встроенной extent_id()
функции.
.drop extents <|
StormEvents
| where EventId == '66144'
| summarize by ExtentId = extent_id(), TableName = "StormEvents"
Режим эмуляции: показать, какие экстенты будут удалены командой
Примечание.
Параметр идентификатора экстентов не применяется для этой команды.
.drop-pretend extents older 10 days from all tables
Удаление всех экстентов из TestTable
.drop extents from TestTable
Примечание.
Удаление всех экстентов не обязательно удаляет все данные в таблице, если включен прием потоковой передачи. Чтобы очистить все данные таблицы, используйте .clear table data TestTable
.