Introducción a las vistas

Una vista es una tabla virtual definida por una consulta en SQL. Puedes usar vistas a fin de proporcionar un nombre fácil de reutilizar para una consulta compleja o un conjunto limitado de datos y, luego, autorizar el acceso de otros usuarios. Una vez que creas una vista, un usuario puede consultarla como lo haría en una tabla. Los resultados de la consulta solo contienen los datos de las tablas y los campos especificados en la consulta que define la vista.

La consulta que define la vista se ejecuta cada vez que se consulta la vista. Si realizas consultas frecuentes en una vista costosa en cuanto al procesamiento, deberías considerar crear una vista materializada.

Las vistas de BigQuery se usan comúnmente para lo siguiente:

  • Abstraer y almacenar el cálculo y la lógica de unión en un objeto común para simplificar el uso de consultas
  • Proporcionar acceso a la lógica de cálculo y un subconjunto de datos sin acceder a las tablas base

También puedes usar una vista como fuente de datos para una herramienta de visualización como Looker Studio.

Comparación con las vistas materializadas

Las vistas son virtuales y proporcionan una referencia reutilizable a un conjunto de datos, pero no almacenan datos físicamente. Las vistas materializadas se definen con SQL, como una vista normal, pero almacenan de forma física los datos que BigQuery usa para mejorar el rendimiento. Para obtener una comparación adicional, consulta Funciones de vistas materializadas.

Limitaciones de las vistas

Las vistas de BigQuery están sujetas a las siguientes limitaciones:

  • Las vistas son de solo lectura. Por ejemplo, no puedes ejecutar consultas que inserten, actualicen o borren datos.
  • El conjunto de datos que contiene la vista y el conjunto de datos que contiene las tablas a las que hace referencia la vista deben estar en la misma ubicación.
  • Una referencia dentro de una vista debe calificarse con un conjunto de datos. El conjunto de datos predeterminado no afecta el cuerpo de una vista.
  • No puedes usar el método TableDataList de la API de JSON para recuperar datos desde una vista. Para obtener más información, consulta Tabledata: list.
  • No puedes mezclar consultas de SQL y GoogleSQL heredado cuando se usan vistas. Una consulta de GoogleSQL no puede hacer referencia a una vista definida mediante la sintaxis de SQL heredado.
  • No puedes hacer referencia a parámetros de consulta en vistas.
  • Los esquemas de las tablas subyacentes se almacenan con la vista cuando esta se crea. Si se agregan, borran o cambian columnas después de crear la vista, el esquema informado será inexacto hasta que se actualice la vista. A pesar de que el esquema informado puede ser inexacto, todas las consultas enviadas producen resultados precisos.
  • No puedes actualizar de forma automática una vista de SQL heredado en la sintaxis de GoogleSQL. Para cambiar la consulta usada para definir una vista, puedes usar lo siguiente:
  • No puedes incluir una función temporal definida por el usuario ni una tabla temporal en la consulta de SQL que define una vista.
  • No puedes hacer referencia a una vista en una consulta de tabla comodín.

Ver cuotas

Para obtener más información sobre las cuotas y los límites que se aplican a las vistas, consulta la página sobre límites de vistas.

Las consultas de SQL que se usan para definir las vistas también están sujetas a las cuotas en trabajos de consulta.

Ver los precios

Las vistas de BigQuery son vistas lógicas, no vistas materializadas. Dado que las vistas no están materializadas, la consulta que define la vista se ejecuta cada vez que se consulta. Las consultas se facturan según la cantidad total de datos en todos los campos de la tabla a los que se hace referencia de forma directa o indirecta en la consulta de nivel superior. Para obtener más información, consulta Precios de consulta.

Ver la seguridad

Para controlar el acceso a las vistas en BigQuery, consulta Vistas autorizadas.

¿Qué sigue?