Поделиться через


Оценка размера таблицы

Применимо: ✅Microsoft FabricAzure Data Explorer

Понимание размера таблицы может быть полезно для эффективного управления ресурсами и оптимизации производительности запросов. В этой статье описаны различные методы оценки размеров таблиц и их эффективного использования.

Исходный размер приема данных

Используйте .show table details для оценки исходного размера данных таблицы. Пример см. в разделе Use .show table details.

Эта команда позволяет оценить несжатый размер данных, передаваемых в таблицу, исходя из предположения о том, что данные были переданы в формате CSV. Оценка основана на приблизительной длине числовых значений, таких как целые числа, longs, datetimes и guid, учитывая их строковые представления.

пример использования: отслеживать размер входящих данных с течением времени, чтобы принимать обоснованные решения о планировании емкости.

Размер таблицы с точки зрения доступа к байтам

Используйте estimate_data_size() вместе с функцией sum() агрегирования для оценки размера таблицы на основе типов данных и соответствующих размеров байтов. Пример см. в разделе Use estimate_data_size().

Этот метод обеспечивает более точную оценку, учитывая размеры байтов числовых значений без форматирования их в виде строк. Например, целые значения требуют 4 байта, в то время как значения long и datetime требуют 8 байт. С помощью этого подхода можно точно оценить размер данных, который будет помещаться в память.

пример использования: определить стоимость запроса с точки зрения сканирования байтов.

Объединенный размер нескольких таблиц

Оператор объединения можно использовать вместе с функциями estimate_data_size() и sum() для оценки объединенного размера нескольких таблиц с точки зрения доступа байтов. Пример см. в разделе Использование объединения с estimate_data_size().

пример использования: оценить требования к памяти для консолидации данных из нескольких таблиц в один набор данных.

Заметка

Этот подход может раздуть предполагаемый размер данных из-за пустых столбцов, так как union объединяет все столбцы из указанных таблиц и estimate_data_size() учитывает пустые столбцы при вычислении размера данных.

Примеры

Использование сведений о таблице .show

Следующий запрос оценивает исходный размер данных таблицы StormEvents.

.show table StormEvents details
| project TotalOriginalSize

выходных

TotalOriginalSize
60192011

Кончик

Чтобы отформатировать результат байтов до , или другого урока, используйтеformat_bytes().

Использование estimate_data_size()

Следующий запрос оценивает исходный размер данных таблицы StormEvents в байтах.

StormEvents
| extend sizeEstimateOfColumn = estimate_data_size(*)
| summarize totalSize=sum(sizeEstimateOfColumn)

выходных

totalSize
58608932

Заметка

Выходные данные меньше, несмотря на то, что вычисление выполняется над той же таблицей. Это связано с тем, что этот метод обеспечивает более точную оценку, учитывая размеры байтов числовых значений без форматирования их в виде строк.

Использование объединения с estimate_data_size()

Следующий запрос оценивает размер данных на основе всех таблиц в базе данных Samples.

union withsource=_TableName *
| extend sizeEstimateOfColumn = estimate_data_size(*)
| summarize totalSize=sum(sizeEstimateOfColumn)
| extend sizeGB = format_bytes(totalSize,2,"GB")
totalSize sizeGB
1761782453926 1640,79 ГБ