En esta página, se proporcionan correcciones y recomendaciones para problemas y preguntas frecuentes relacionados con el motor de columnas de AlloyDB para PostgreSQL.
Agregaste columnas a las que se hace referencia en el motor de columnas, pero tu consulta SELECT no las usa.
Descripción: Para usar el motor columnar, todas las columnas a las que se hace referencia en un fragmento de consulta, como las uniones y los análisis, deben estar en el almacén de columnas. Si alguna columna a la que se hace referencia no está en el motor columnar, el fragmento de la consulta se establece de forma predeterminada en el almacén basado en filas.
En este contexto, un fragmento de consulta es una consulta que puede tener varios nodos de análisis. Por ejemplo, el fragmento de la consulta puede tener dos nodos de análisis para una unión. Un nodo de análisis podría usar un formato no columnar y otro podría usar un formato columnar. Todas las columnas de un nodo de análisis (columnas de filtro y columnas de proyección) deben completarse en formato columnar. Del mismo modo, una consulta puede tener algunas particiones en formato columnar y otras en formato no columnar.
Corrección recomendada: Para verificar que todas las columnas a las que se hace referencia estén en el motor columnar, sigue estos pasos:
Verifica los tipos de datos admitidos.
Asegúrate de que AlloyDB admita todos los tipos de datos de las columnas que planeas usar con el motor de columnas. Para obtener más información, consulta los tipos de datos admitidos. Si AlloyDB no admite un tipo de datos crítico, considera comunicarte con la Asistencia de Google Cloud.
Verifica los operadores admitidos.
Asegúrate de que AlloyDB admita los operadores en los tipos de datos del motor de columnas. Para obtener más información sobre los operadores admitidos, consulta Tipos de consultas que se benefician del motor columnar.
Ejecuta el comando
EXPLAIN COLUMNAR_ENGINE.Para identificar y abordar los problemas que impiden que consultas específicas usen el motor columnar, ejecuta el siguiente comando de
EXPLAIN COLUMNAR_ENGINE:EXPLAIN (COLUMNAR_ENGINE, ANALYZE) SELECT column1, column2 FROM my_table WHERE column3 > 100;
No puedes agregar ni quitar tablas en el motor de columnas
Descripción: Deseas agregar o quitar tablas en el motor de columnas.
Corrección recomendada: Verifica tus permisos de usuario. Solo puedes agregar o quitar tablas en el motor columnar si tienes privilegios de lectura en la tabla.
El tamaño de los datos de columna supera la memoria asignada
Descripción: Se producen problemas de rendimiento o de procesamiento de datos cuando el tamaño de los datos en columnas supera la memoria asignada al motor de columnas.
Solución recomendada: Para obtener un rendimiento óptimo, usa la función de recomendaciones de AlloyDB para identificar las tablas y columnas óptimas que se deben completar en el motor de columnas.
Si las tablas y las columnas recomendadas superan la memoria física del motor de columnas, el exceso de datos de columnas usa una parte de la capa de caché ultrarrápida. Las consultas sobre los datos restantes de la tabla, que no están en el motor de columnas, usan de forma transparente el almacén de filas.
También puedes ajustar la asignación de caché de almacenamiento y memoria del motor columnar. El motor de columnas se aprovisiona con un tamaño predeterminado para la memoria y la caché de almacenamiento. Puedes configurar manualmente la caché de memoria y almacenamiento. Para cambiar la cantidad de memoria o caché de almacenamiento asignada al motor de columnas, consulta Configura la memoria para el motor de columnas.