Límites de SQL y XML
En las tablas de este tema se describen los límites de SQL y XML. Si se ajusta al caso más restrictivo le servirá de ayuda para diseñar programas de aplicación que sean portátiles.
Los límites en los caracteres varían en función de la página de códigos de la base de datos y la página de códigos de la aplicación. Por ejemplo, puesto que el ancho de un carácter UTF-8 puede oscilar de 1 a 4 bytes, el límite de caracteres para un identificador en una tabla Unicode cuyo límite es 128 bytes debe oscilar de 32 a 128 caracteres, en función de qué caracteres se utilizan. Si se efectúa un intento de crear un identificador cuyo nombre sea más largo que el límite para esta tabla después de la conversión a la página de códigos de la base de datos, se devolverá un error.
Las aplicaciones que almacenan nombres de identificador deben poder manejar el posible aumento del tamaño de los identificadores después de que se produzca una conversión de página de códigos. Cuando se recuperan identificadores del catálogo, estos se convierten a la página de códigos de la aplicación. La conversión de la página de códigos de la base de datos a la página de códigos de la aplicación puede dar como resultado que un identificador llegue a tener una longitud mayor que el límite de bytes para la tabla. Si una variable de sistema principal declarada por la aplicación no puede almacenar todo el identificador después de la conversión de página de códigos, se trunca. Si eso es inaceptable, puede aumentar el tamaño de la variable del lenguaje principal para que pueda aceptar el nombre de identificador completo.
Se aplican las mismas reglas a los programas de utilidad de la base de datos IBM® que recuperan los datos y los convierten a una página de códigos especificada por el usuario. Si un programa de utilidad de una base de datos IBM como, por ejemplo, exportación, está recuperando los datos y está forzando la conversión a una página de códigos especificada por el usuario (mediante el modificador CODEPAGE de exportación o la variable de registro DB2CODEPAGE), y el identificador se amplía más allá del límite documentado en esta tabla debido a una conversión de la página de códigos, se podría devolver un error o el identificador se podría truncar.
| Descripción | Máximo en bytes |
|---|---|
| Nombre de alias | 128 |
| Nombre de atributo | 128 |
| Nombre de política de auditoría | 128 |
| Nombre de autorización (solo pueden ser caracteres de un solo byte) | 128 |
| Nombre de agrupación de almacenamiento intermedio | 18 |
| Nombre de columna2 | 128 |
| Nombre de restricción | 128 |
| Nombre de correlación | 128 |
| Nombre de cursor | 128 |
| Nombre de partición de datos | 128 |
| Nombre de columna de fuente de datos | 255 |
| Nombre de índice de fuente de datos | 128 |
| Nombre de fuente de datos | 128 |
| Nombre de tabla de fuente de datos (nombre-tabla-remota) | 128 |
| Nombre de grupo de particiones de base de datos | 128 |
| Nombre de partición de base de datos | 128 |
| Nombre de supervisor de sucesos | 128 |
| Nombre de programa externo | 128 |
| Nombre de correlación de funciones | 128 |
| Nombre de grupo | 128 |
| Identificador del lenguaje principal1 | 255 |
| Identificador de un usuario de fuente de datos (nombre-autorización-remota) | 128 |
| Identificador en un procedimiento SQL (nombre de condición, para identificador de bucle, etiqueta, localizador de conjunto de resultados, nombre de sentencia, nombre de variable) | 128 |
| Nombre de índice | 128 |
| Nombre de extensión del índice | 18 |
| Nombre de especificación del índice | 128 |
| Nombre de etiqueta | 128 |
| Identificador de recursos uniforme (URI) de espacios de nombre | 1000 |
| Apodo | 128 |
| Nombre de paquete | 128 |
| ID de versión del paquete | 64 |
| Nombre de parámetro | 128 |
| Contraseña para acceder a una fuente de datos | 32 |
| Nombre de procedimiento | 128 |
| Nombre de rol | 128 |
| Nombre de punto de salvaguarda | 128 |
| Nombre de esquema2,3 | 128 |
| Nombre de componente de etiqueta de seguridad | 128 |
| Nombre de etiqueta de seguridad | 128 |
| Nombre de política de seguridad | 128 |
| Nombre de secuencia | 128 |
| Nombre de servidor (alias de base de datos) | 8 |
| Nombre específico | 128 |
| Nombre de condición SQL | 128 |
| nombre de variable de SQL | 128 |
| Nombre de sentencia | 128 |
| Grupo de almacenamiento | 128 |
| Nombre de tabla | 128 |
| Nombre de espacio de tablas | 18 |
| Nombre del grupo de transformación | 18 |
| Nombre de activador | 128 |
| Nombre de contexto fiable | 128 |
| Nombre de correlación de tipos | 18 |
| Nombre de función definida por el usuario | 128 |
| Nombre de método definido por el usuario | 128 |
| Nombre de tipo definido por el usuario2 | 128 |
| Nombre de vista | 128 |
| Nombre de derivador | 128 |
| Nombre de elemento XML, nombre de atributo o nombre de prefijo | 1000 |
| Identificador de recursos uniforme (URI) de ubicación de esquema XML | 1000 |
|
Nota:
|
|
| Descripción | Límite |
|---|---|
| Valor SMALLINT mínimo | -32,768 |
| Valor SMALLINT máximo | +32,767 |
| Valor INTEGER más pequeño | -2,147,483,648 |
| Valor INTEGER máximo | +2,147,483,647 |
| Valor BIGINT más pequeño | -9,223,372,036,854,775,808 |
| Valor BIGINT máximo | +9,223,372,036,854,775,807 |
| Precisión decimal máxima | 31 |
| Exponente máximo (Emáx) para valores REAL | 38 |
| Valor REAL mínimo | -3.402E+38 |
| Valor REAL máximo | +3.402E+38 |
| Exponente mínimo (Emín) para valores REAL | -37 |
| Valor REAL positivo mínimo | +1.175E-37 |
| Valor REAL negativo máximo | -1.175E-37 |
| Exponente máximo (Emáx) para valores DOUBLE | 308 |
| Valor DOUBLE mínimo | -1.79769E+308 |
| Valor DOUBLE máximo | +1.79769E+308 |
| Exponente mínimo (Emín) para valores DOUBLE | -307 |
| Valor DOUBLE positivo mínimo | +2,225E-307 |
| Valor DOUBLE negativo máximo | -2,225E-307 |
| Exponente máximo (Emáx) para valores DECFLOAT(16) | 384 |
| Valor mínimo de DECFLOAT(16)1 | -9,999999999999999E+384 |
| Valor máximo de DECFLOAT(16) | 9,999999999999999E+384 |
| Exponente mínimo (Emín) para valores DECFLOAT(16) | -383 |
| Valor mínimo positivo de DECFLOAT(16) | 1,000000000000000E-383 |
| Valor máximo negativo de DECFLOAT(16) | -1,000000000000000E-383 |
| Exponente máximo (Emáx) para valores DECFLOAT(34) | 6144 |
| Valor mínimo de DECFLOAT(34)1 | -9,999999999999999999999999999999999E+6144 |
| Valor máximo de DECFLOAT(34) | 9,999999999999999999999999999999999E+6144 |
| Exponente mínimo (Emín) para valores DECFLOAT(34) | -6143 |
| Valor mínimo positivo de DECFLOAT(34) | 1,000000000000000000000000000000000E-6143 |
| Valor máximo negativo de DECFLOAT(34) | -1,000000000000000000000000000000000E-6143 |
|
Nota:
|
|
| Descripción | Límite |
|---|---|
| Longitud máxima de CHAR (en bytes u OCTETS) | 255 |
| Longitud máxima de CHAR (en CODEUNITS32) | 63 |
| Longitud máxima de VARCHAR (en bytes u OCTETS)2 | 32,672 |
| Longitud máxima de VARCHAR (en CODEUNITS32)2 | 8168 |
| Longitud máxima de LONG VARCHAR (en bytes)1 | 32.700 |
| Longitud máxima de CLOB (en bytes u OCTETS) | 2.147.483.647 |
| Longitud máxima de CLOB (en CODEUNITS32) | 536.870.911 |
| Longitud máxima de XML serializado (en bytes) | 2.147.483.647 |
| Longitud máxima de GRAPHIC (en caracteres de bytes dobles o CODEUNITS16) | 127 |
| Longitud máxima de GRAPHIC (en CODEUNITS32) | 63 |
| Longitud máxima de VARGRAPHIC (en caracteres de doble byte o CODEUNITS16)2 | 16.336 |
| Longitud máxima de VARGRAPHIC (en CODEUNITS32) | 8168 |
| Longitud máxima de LONG VARGRAPHIC (en caracteres de doble byte)1 | 16.350 |
| Longitud máxima de DBCLOB (en caracteres de bytes dobles o CODEUNITS16) | 1.073.741.823 |
| Longitud máxima de DBCLOB (en CODEUNITS32) | 536.870.911 |
| Longitud máxima de BINARY (en bytes) | 255 |
| Longitud máxima de VARBINARY (en bytes)2 | 32,672 |
| Longitud máxima de BLOB (en bytes) | 2.147.483.647 |
| Longitud máxima de constante de caracteres | 32,672 |
| Longitud máxima de constante gráfica | 16.336 |
| Longitud máxima de series de caracteres concatenadas | 2.147.483.647 |
| Longitud máxima de series gráficas concatenadas | 1.073.741.823 |
| Longitud máxima de series binarias concatenadas | 2.147.483.647 |
| El número máximo de dígitos de constante hexadecimal | 32,672 |
| Instancia mayor de un objeto de una columna de tipo estructurado durante la ejecución (en gigabytes) | 1 |
| Tamaño máximo de un comentario del catálogo (en bytes) | 254 |
|
Nota:
|
|
| Descripción | Límite de tamaño de página de 4K | Límite de tamaño de página de 8K | Límite de tamaño de página de 16K | Límite de tamaño de página de 32K |
|---|---|---|---|---|
| Longitud máxima de VARCHAR (en bytes) | 3920 | 8016 | 16.208 | 32.592 |
| Longitud máxima de VARCHAR (en CODEUNITS32) | 980 | 2004 | 4052 | 8148 |
| Longitud máxima de VARGRAPHIC (en bytes) | 1960 | 4008 | 8104 | 16.296 |
| Longitud máxima de VARBINARY (en bytes) | 3920 | 8016 | 16.208 | 32.592 |
|
Nota: Una tabla organizado en columnas tiene
una sobrecarga de 176 bytes por página.
|
||||
|
| Descripción | Límite |
|---|---|
| Profundidad máxima de un documento XML (en niveles) | 125 |
| Tamaño máximo de un documento de esquema XML (en bytes) | 31,457,280 |
| Descripción | Límite |
|---|---|
| Valor DATE mínimo | 0001-01-01 |
| Valor DATE máximo | 9999-12-31 |
| Valor TIME mínimo | 00:00:00 |
| Valor TIME máximo | 24:00:00 |
| Valor TIMESTAMP mínimo | 0001-01-01-00.00.00.000000000000 |
| Valor TIMESTAMP máximo | 9999-12-31-24.00.00.000000000000 |
| Precisión de indicación de fecha y hora más baja | 0 |
| Precisión de indicación de fecha y hora más alta | 12 |
| Categoría | Descripción | Límite |
|---|---|---|
| Aplicaciones | Número máximo de declaraciones de variables del lenguaje principal en un programa precompilado3 | Almacenamiento. Este número puede bajar con versiones futuras. Se recomienda que permanezca debajo de 10000. |
| Longitud máxima del valor de la variable del lenguaje principal (en bytes) | 2.147.483.647 | |
| Número máximo de cursores declarados en un programa | almacenamiento | |
| Número máximo de filas que se modifican en una unidad de trabajo | almacenamiento | |
| Número máximo de cursores que están abiertos a la vez | almacenamiento | |
| Número máximo de conexiones por proceso en un cliente de base de datos | 512 | |
| El número máximo de localizadores LOB abiertos simultáneamente en una transacción | 4.194.304 | |
| Tamaño máximo de una SQLDA (en bytes) | almacenamiento | |
| El número máximo de sentencias preparadas | almacenamiento | |
| Agrupaciones de almacenamientos intermedios | Valor máximo de NPAGES en una agrupación de almacenamientos intermedios para emisiones de 32 bits | 1.048.576 |
| Valor máximo de NPAGES en una agrupación de almacenamientos intermedios para emisiones de 64 bits | 2.147.483.647 | |
| Tamaño total máximo de todas las ranuras de almacenamientos intermedios de memoria (4K) | 2.147.483.646 | |
| Simultaneidad | Número máximo de usuarios simultáneos de un servidor4 | 64.000 |
| El número máximo de usuarios simultáneos por instancia | 64.000 | |
| El número máximo de aplicaciones simultáneas por base de datos | 60.000 | |
| El número máximo de bases de datos por instancia en uso simultáneo | 256 | |
| Restricciones | El número máximo de restricciones en una tabla | almacenamiento |
| Número máximo de columnas en una restricción UNIQUE (soportado a través de un índice UNIQUE) | 64 | |
| Longitud máxima combinada de las columnas en una restricción UNIQUE (soportada a través de un índice UNIQUE, en bytes)8 | 8192 | |
| Número máximo de columnas de referencia en una clave foránea | 64 | |
| Longitud máxima combinada de columnas de referencia en una clave foránea (en bytes)8 | 8192 | |
| Longitud máxima de una especificación de restricción de comprobación (en bytes) | 65.535 | |
| Bases de datos | Número de partición de base de datos máximo | 999 |
| Índices | Número máximo de índices en una tabla | 32.767 o almacenamiento |
| Número máximo de columnas en una clave de índice | 64 | |
| Longitud máxima de una clave de índice, incluyendo la sobrecarga6 8 | tamañopáginaíndice/4 | |
| Longitud máxima de una parte de clave de índice variable (en bytes)7 | 1022 o almacenamiento | |
| Tamaño máximo de un índice por partición de base de datos en un espacio de tablas SMS (en terabytes)6 | 64 | |
| Tamaño máximo de un índice por partición de base de datos en un espacio de tablas DMS normal (en gigabytes)6 | 512 | |
| Tamaño máximo de un índice por partición de base de datos en un espacio de tablas DMS grande (en terabytes)6 | 64 | |
| Longitud máxima de una parte de clave de índice variable de un índice sobre datos XML (en bytes)7 | tamañopágina/4 - 207 | |
| Registros de anotaciones cronológicas | Número de secuencia de anotación cronológica máximo | 0xFFFF FFFF FFFF FFFF |
| Supervisión | El número máximo de supervisores de sucesos activos simultáneamente | 128 |
| En un entorno de base de datos particionada, número máximo de supervisores de sucesos GLOBAL activos simultáneamente | 32 | |
| Rutinas | Número máximo de parámetros en un procedimiento con LANGUAGE SQL | 32.767 |
| Número máximo de parámetros en un procedimiento externo con PROGRAM TYPE MAIN | 32.767 | |
| Número máximo de parámetros en un procedimiento externo con PROGRAM TYPE SUB | 90 | |
| Número máximo de parámetros en un constructor de valor de cursor | 32.767 | |
| Número máximo de parámetros en una función definida por el usuario | 90 | |
| Número máximo de niveles de anidamiento para rutinas | 64 | |
| Número máximo de esquemas en la vía de acceso de SQL | 64 | |
| Longitud máxima de la vía de acceso de SQL (en bytes) | 2048 | |
| Seguridad | Número máximo de elementos en un componente de una etiqueta de seguridad de conjunto de tipo o árbol | 64 |
| Número máximo de elementos en un componente de una etiqueta de seguridad de matriz de tipos | 65.535 | |
| Número máximo de componentes de etiqueta de seguridad en una política de seguridad | 16 | |
| SQL | Longitud total máxima de una sentencia de SQL (en bytes) | 2.097.152 |
| Número máximo de tablas a las que se hace referencia en una sentencia o vista SQL | almacenamiento | |
| Número máximo de las referencias de variable de sistema principal en una sentencia SQL dinámica | 32.767 | |
| Número máximo de constantes en una sentencia | almacenamiento | |
| Número máximo de elementos en una lista de selección6 | 1.012 | |
| Número máximo de predicados en una cláusula WHERE o HAVING | almacenamiento | |
| Número máximo de columnas en una cláusula GROUP BY6 | 1.012 | |
| Longitud total máxima de las columnas en una cláusula GROUP BY (en bytes)6 | 32.677 | |
| Número máximo de columnas en una cláusula ORDER BY6 | 1.012 | |
| Longitud total máxima de las columnas en una cláusula ORDER BY (en bytes)6 | 32.677 | |
| Nivel máximo de anidamiento de subconsultas | almacenamiento | |
| El número máximo de subconsultas en una sola sentencia | almacenamiento | |
| Número máximo de valores en una operación de inserción6 | 1.012 | |
| Grupos de almacenamiento | Número máximo de grupos de almacenamiento en una base de datos | 256 |
| Número máximo de vías de acceso de almacenamiento en un grupo de almacenamiento | 128 | |
| Longitud máxima de una vía de acceso de almacenamiento (en bytes) | 175 | |
| Tablas y vistas | Número máximo de columnas en una tabla 6 10 | 1.012 |
| Número máximo de columnas en una vista1 | 5000 | |
| El número máximo de columnas en una vista o tabla de fuente de datos a la que se hace referencia mediante un apodo | 5000 | |
| Número máximo de columnas en una clave de distribución5 | 500 | |
| Longitud máxima de una fila, incluyendo toda la sobrecarga2 6 9 | 32.677 | |
| Número máximo de filas en una tabla no particionada por partición de base de datos | 128 x 1010 | |
| Número máximo de filas en una partición de datos por partición de base de datos | 128 x 1010 | |
| Tamaño máximo de una tabla por partición de base de datos en un espacio de tablas normal (en gigabytes)3 6 | 512 | |
| Tamaño máximo de una tabla por partición de base de datos en un espacio de tablas DMS grande (en terabytes)6 | 64 | |
| Número máximo de particiones de datos para una sola tabla | 32.767 | |
| Número máximo de columnas de particionamiento de tablas | 16 | |
| Número máximo de campos en un tipo de datos de fila definido por el usuario | 1.012 | |
| Espacios de tablas | Tamaño máximo de un objeto LOB por tabla o por partición de tabla (en terabytes) | 4 |
| Tamaño máximo de un objeto LF por tabla o por partición de tabla (en terabytes) | 2 | |
| El número máximo de espacios de tablas en una base de datos | 32.768 | |
| Número máximo de tablas en un espacio de tablas SMS | 65.532 | |
| Tamaño máximo de un espacio de tablas DMS normal (en gigabytes) 3 6 | 512 | |
| Tamaño máximo de un espacio de tablas DMS grande (en terabytes) 3 6 | 64 | |
| Tamaño máximo de un espacio de tablas DMS temporal (en terabytes) 3 6 | 64 | |
| Número máximo de objetos de tabla en un espacio de tablas DMS | Consulte la Tabla 9 | |
| Activadores | Profundidad máxima en tiempo de ejecución de activadores en cascada | 16 |
| Tipos definidos por el usuario | El número máximo de atributos en un tipo estructurado | 4082 |
| Gestor de carga de trabajo | Número máximo de superclases de servicio definidas por el usuario por base de datos | 64 |
| Número máximo de subclases de servicio definidas por el usuario por superclase de servicio | 61 | |
|
Nota:
|
||
| Descripción | Límite de tamaño de página de 4K | Límite de tamaño de página de 8K | Límite de tamaño de página de 16K | Límite de tamaño de página de 32K |
|---|---|---|---|---|
| Número máximo de objetos de tabla en un espacio de tablas DMS1 | 51.9712 53.2123 |
53.299 | 53.747 | 54.264 |
| Número máximo de columnas en una tabla de organización en filas | 500 | 1.012 | 1.012 | 1.012 |
| Número máximo de columnas en una tabla organizado en columnas | 1.012 | 1.012 | 1.012 | 1.012 |
| Longitud máxima de una fila en una tabla de organización en filas, incluida toda la actividad general | 4.005 | 8.101 | 16.293 | 32.677 |
| Longitud máxima de una fila en una tabla organizado en columnas, incluida toda la actividad general | 1.048.319 | 1.048.319 | 1.048.319 | 1.048.319 |
| Tamaño máximo de una tabla por partición de base de datos en un espacio de tablas normal (en gigabytes) | 64 | 128 | 256 | 512 |
| Tamaño máximo de una tabla por partición de base de datos en un espacio de tablas DMS grande (en terabytes) | 8 | 16 | 32 | 64 |
| Longitud máxima de una clave de índice, incluyendo toda la sobrecarga (en bytes) | 1024 | 2048 | 4096 | 8192 |
| Tamaño máximo de un índice por partición de base de datos en un espacio de tablas SMS (en terabytes) | 8 | 16 | 32 | 64 |
| Tamaño máximo de un índice por partición de base de datos en un espacio de tablas DMS normal (en gigabytes) | 64 | 128 | 256 | 512 |
| Tamaño máximo de un índice por partición de base de datos en un espacio de tablas DMS grande (en terabytes) | 8 | 16 | 32 | 64 |
| Tamaño máximo de un espacio de tabla DMS normal por partición de base de datos (en gigabytes) | 64 | 128 | 256 | 512 |
| Tamaño máximo de un espacio de tablas DMS grande (en terabytes) | 8 | 16 | 32 | 64 |
| Tamaño máximo de un espacio de tablas DMS temporal (en terabytes) | 8 | 16 | 32 | 64 |
| Número máximo de elementos en una lista de selección | 5004 | 1.012 | 1.012 | 1.012 |
| El número máximo de columnas en una cláusula GROUP BY | 500 | 1.012 | 1.012 | 1.012 |
| Longitud total máxima de las columnas en una cláusula GROUP BY (en bytes) | 4.005 | 8.101 | 16.293 | 32.677 |
| El número máximo de columnas en una cláusula ORDER BY | 500 | 1.012 | 1.012 | 1.012 |
| Longitud total máxima de las columnas en una cláusula ORDER BY (en bytes) | 4.005 | 8.101 | 16.293 | 32.677 |
| Número máximo de valores de una operación de inserción | 500 | 1.012 | 1.012 | 1.012 |
| Número máximo de cláusulas SET en una sola sentencia de actualización | 500 | 1.012 | 1.012 | 1.012 |
| Registros máximos por página para un espacio de tablas normal | 251 | 253 | 254 | 253 |
| Registros máximos por página para un espacio de tablas grande | 287 | 580 | 1165 | 2335 |
|
Nota:
|
||||