En esta página, se proporcionan correcciones recomendadas y también información sobre problemas y preguntas comunes relacionados con el motor de columnas de AlloyDB para PostgreSQL.
Agregaste columnas de referencia al motor de columnas, pero tu consulta SELECT no las usa
Descripción: Para usar el motor de columnas, todas las columnas a las que se hace referencia en un fragmento de consulta, como uniones y análisis, deben estar en el almacén de columnas. Si alguna columna a la que se hace referencia no está en el motor de columnas, el fragmento de consulta se establece de forma predeterminada en el almacén basado en filas.
Un fragmento de consulta en este contexto es una consulta que puede tener varios nodos de análisis. Por ejemplo, el fragmento de consulta puede tener dos nodos de análisis para una unión. Un nodo de análisis puede usar un formato no columnar y otro nodo de análisis puede 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 de columnas. Del mismo modo, una consulta puede tener algunas particiones en formato de columnas y otras en formato que no sea de columnas.
Corrección recomendada: Para verificar que todas las columnas a las que se hace referencia estén en el motor de columnas, sigue estos pasos:
Verifica los tipos de datos admitidos.
Asegúrate de que AlloyDB admita todos los tipos de datos de las columnas que quieras usar con el motor de columnas. Para obtener más información, consulta Tipos de datos compatibles. Si AlloyDB no admite un tipo de datos crítico, considera comunicarte con la Atención al cliente de Cloud.
Consulta los operadores admitidos.
Asegúrate de que AlloyDB admita los operadores en los tipos de datos en el motor de columnas. Para obtener más información sobre los operadores compatibles, consulta Tipos de consultas que se benefician del motor de columnas.
Ejecuta el comando
EXPLAIN COLUMNAR_ENGINE.Para identificar y abordar los problemas que impiden que consultas específicas usen el motor de columnas, 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 de columnas si tienes privilegios de lectura en la tabla.
El tamaño de los datos en columnas supera la memoria asignada
Descripción: Tienes problemas de rendimiento o de manejo de datos cuando el tamaño de los datos de columnas supera la asignación de memoria para el motor de columnas.
Corrección recomendada: Para obtener un rendimiento óptimo, usa la función de recomendación en AlloyDB para identificar las tablas y columnas óptimas para propagar el motor de columnas.
Si las tablas y columnas recomendadas superan la memoria física del motor de columnas, los datos de columnas excedentes usan 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 el almacén de filas de forma transparente.
También puedes ajustar la asignación de memoria y caché de almacenamiento del motor de columnas. El motor de columnas se aprovisiona con un tamaño predeterminado para la memoria y la caché de almacenamiento. Puedes configurar manualmente la memoria y la caché de 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.