Limitaciones de las vistas materializadas y problemas conocidos
Origen de la vista materializada
- La tabla de origen de una vista materializada:
- Debe ser una tabla en la que los datos se ingieren directamente, mediante una directiva de actualización o la ingesta de comandos de consulta.
- El uso de extensiones de movimiento o reemplazar extensiones de otras tablas a la tabla de origen de la vista materializada solo se admite si se usa
setNewIngestionTime
la propiedad como parte del comando mover extensiones (consulte los comandos .move extents y .replace extents para obtener más detalles). - Al mover extensiones a la tabla de origen de una vista materializada, aunque no se usa
setNewIngestionTime
, se puede producir un error con uno de los siguientes errores:Cannot drop/move extents from/to table 'TableName' since Materialized View 'ViewName' is currently processing some of these extents
.Cannot move extents to 'TableName' since materialized view 'ViewName' will not process these extents (can lead to data loss in the materialized view)
.
- El uso de extensiones de movimiento o reemplazar extensiones de otras tablas a la tabla de origen de la vista materializada solo se admite si se usa
- Debe ser una tabla en la que los datos se ingieren directamente, mediante una directiva de actualización o la ingesta de comandos de consulta.
- La tabla de origen de una vista materializada debe tener habilitada la directiva IngestionTime (está habilitada de forma predeterminada).
- La tabla de origen de una vista materializada no puede ser una tabla con una directiva de acceso de vista restringida.
- No se puede crear una vista materializada sobre otra vista materializada, a menos que la primera vista materializada sea de tipo
take_any(*)
agregación. Vea la vista materializada sobre la vista materializada. - No se pueden definir vistas materializadas sobre tablas externas.
Advertencia
- El sistema deshabilitará automáticamente una vista materializada si cambia a la tabla de origen de la vista materializada o los cambios en los datos conducen a la incompatibilidad entre la consulta de vista materializada y el esquema de la vista materializada esperada.
- Para evitar este error, la consulta de vista materializada debe ser determinista. Por ejemplo, el bag_unpack o los complementos dinámicos dan como resultado un esquema no determinista.
- Cuando se usa una
arg_max(Timestamp, *)
agregación y cuandoautoUpdateSchema
es false, los cambios en la tabla de origen también pueden provocar errores de coincidencia de esquema.- Evite este error definiendo la consulta de vista como
arg_max(Timestamp, Column1, Column2, ...)
o mediante laautoUpdateSchema
opción .
- Evite este error definiendo la consulta de vista como
- El uso
autoUpdateSchema
puede provocar una pérdida de datos irreversible cuando se quitan las columnas de la tabla de origen. - Supervise la deshabilitación automática de vistas materializadas mediante la métrica MaterializedViewResult.
- Después de corregir problemas de incompatibilidad, la vista debe volver a habilitarse explícitamente mediante el comando habilitar vista materializada .
Impacto de los registros ingeridos o eliminados de la tabla de origen
- Una vista materializada solo procesa nuevos registros ingeridos en la tabla de origen. Los registros que se quitan de la tabla de origen, ya sea mediante la ejecución deextensiones de eliminación temporal de purga// de datos, o debido a la directiva de retención o a cualquier otro motivo, no tienen ningún impacto en la vista materializada.
- La vista materializada tiene su propia directiva de retención, que es independiente de la directiva de retención de la tabla de origen. La vista materializada puede incluir registros que no están presentes en la tabla de origen.
Bases de datos de seguidores
- No se pueden crear vistas materializadas en las bases de datos del seguidor. Las bases de datos del seguidor son de solo lectura y las vistas materializadas requieren operaciones de escritura.
- Las vistas materializadas definidas en las bases de datos de líderes se pueden consultar desde sus seguidores, como cualquier otra tabla del líder.
- Use el clúster líder para supervisar las vistas materializadas de la base de datos del seguidor. Para obtener más información, consulte Vistas materializadas en bases de datos del seguidor.
Otros
- Las funciones de cursor no se pueden usar sobre vistas materializadas.
- No se admite la exportación continua desde una vista materializada.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de