enable_adaptive_codec_selection), que puede elegir un códec por bloque para las columnas que usan el códec predeterminado.
La selección de codec_block_counts lee archivos de datos .bin, no solo metadatos. Las demás columnas solo contienen metadatos.
No se incluyen las partes que no registran sus subflujos en columns_substreams.txt.
Todos los valores indicados se derivan de los datos de la tabla, por lo que leer cualquier columna del resultado requiere el privilegio SELECT en todas las columnas de la tabla. Una concesión que abarque solo algunas de las columnas no es suficiente. El privilegio también es necesario para resolver la estructura de la función, por ejemplo, mediante DESCRIBE. Un usuario que no tiene permiso para ver la tabla en absoluto, es decir, que no tiene el privilegio SHOW TABLES sobre ella, recibe ACCESS_DENIED tanto si existe como si no, por lo que la función no le indica qué tablas existen.
Si se aplica una política de filas a la tabla para el usuario actual, la lectura de codec_block_counts genera ACCESS_DENIED, ya que los recuentos incluirían filas que la política oculta. Las demás columnas siguen siendo legibles; system.parts_columns las informa independientemente de las políticas de filas.
Sintaxis
Argumentos
Valor devuelto
Un objeto de tabla con una fila por cada combinación de (parte activa, columna y subflujo) de la tabla de origen:part_name(String) — La parte de datos activa a la que pertenece la columna.column(String) — El nombre de la columna.substream(String) — El flujo físico de la columna al que corresponden los recuentos. Coincide consystem.parts_columns.substreams.data_compressed_bytes(Nullable(UInt64)) — Tamaño de los datos comprimidos en el subflujo, en bytes.NULLpara las partesCompact.data_uncompressed_bytes(Nullable(UInt64)) — Tamaño de los datos sin comprimir en el subflujo, en bytes.NULLpara las partesCompact.codec_block_counts(Map(String, UInt64)) — Número de bloques comprimidos de este subflujo, agrupados por códec. Vacío para las partesCompact, cuyas columnas comparten un archivo de datos y, por tanto, no tienen una atribución de códec por flujo.
Ejemplo de uso
GROUP BY column con sumMap:
LowCardinality informa de forma independiente los flujos del diccionario y de los índices: