Descripción general
SELECT, y en el
procesamiento distribuido de consultas, las restricciones se aplican por separado en cada servidor.
Por lo general, ClickHouse comprueba las restricciones solo después de que las partes de datos se hayan
procesado por completo, en lugar de comprobarlas para cada fila. Esto puede
dar lugar a situaciones en las que se infrinjan las restricciones mientras se está
procesando la parte de datos.
Ajustes de overflow_mode
overflow_mode, que define qué ocurre
cuando se supera el límite y puede tomar uno de estos dos valores:
throw: lanzar una excepción (predeterminado).break: detener la ejecución de la consulta y devolver un resultado parcial, como si los datos de origen se hubieran agotado.
max_execution_time con break, algunas operaciones no pueden devolver de forma segura un
resultado parcial, por lo que, en lugar de un resultado menor, se detienen sin producir ninguno. Una función
que calcula un único valor se detiene sin producir dicho valor; que la detención llegue también al
client como un error TIMEOUT_EXCEEDED, o solo como un resultado ausente, depende de dónde se haya
interrumpido la consulta. Una mutación de una tabla Memory que quede incompleta debido al timeout mantiene la tabla sin cambios e
informa TIMEOUT_EXCEEDED. Un INSERT puede informar QUERY_WAS_CANCELLED. Algunas operaciones que esperan
a otras réplicas o a trabajo en segundo plano no se detienen en max_execution_time en absoluto: una escritura con cuórum
sigue esperando hasta que se satisfaga su cuórum, o informa UNKNOWN_STATUS_OF_INSERT si
insert_quorum_timeout transcurre primero.
Configuración de group_by_overflow_mode
group_by_overflow_mode también puede tomar
el valor any:
any: continúa la agregación para las claves que ya entraron en el conjunto, pero no agrega nuevas claves al conjunto.
Lista de ajustes
Las restricciones sobre la «cantidad máxima de algo» pueden tomar el valor
0,
lo que significa que es «sin restricciones».Configuraciones obsoletas
Las siguientes configuraciones están obsoletas