Todos los productos
Search
Centro de documentos

ApsaraDB for ClickHouse:INSERT INTO

Última actualización: Sep 05, 2026

Inserta filas en una tabla de ApsaraDB for ClickHouse.

Sintaxis

INSERT INTO [db.]table [(c1, c2, c3)] VALUES (v11, v12, v13), (v21, v22, v23), ...

Para las columnas definidas en el esquema de la tabla que no se incluyen en la instrucción, ApsaraDB for ClickHouse asigna valores según las siguientes reglas:

Condición

Comportamiento

La columna tiene definida una expresión predeterminada

Evalúa la expresión e inserta el resultado

No hay ninguna expresión predeterminada definida

Inserta 0 o una cadena vacía

Uso de SELECT con INSERT INTO

INSERT INTO [db.]table [(c1, c2, c3)] SELECT ...

Las columnas del resultado de SELECT se asignan a las columnas de INSERT INTO en orden posicional estricto; los nombres de las columnas no necesitan coincidir. ApsaraDB for ClickHouse convierte los tipos de datos automáticamente cuando es necesario.

Compatibilidad con expresiones

Solo la forma VALUES admite expresiones en línea como now() y 1 + 2. Incluso al usar VALUES, evite las expresiones en línea, ya que evaluarlas fila por fila resulta ineficiente. Calcule los valores antes de insertar los datos.

Consideraciones de rendimiento

Cuando ApsaraDB for ClickHouse ejecuta una instrucción INSERT INTO, procesa los datos de inmediato: los ordena por clave principal y los particiona. Si los datos que se van a insertar abarcan varios meses, el rendimiento de inserción se degrada significativamente.

Para mantener un alto rendimiento de inserción:

  • Escriba un gran volumen de datos a la vez. Por ejemplo, escriba 100,000 filas de datos en cada operación.

  • Agrupe los datos antes de escribirlos en un clúster de ApsaraDB for ClickHouse.

En los siguientes escenarios, el rendimiento de inserción no se ve afectado:

  • Los datos se escriben en tiempo real.

  • Los datos que se van a escribir ya están ordenados por tiempo.