Funciones y operadores de SQL optimizado

BigQuery BI Engine optimiza las siguientes funciones y operadores de SQL estándar cuando se conectan herramientas de inteligencia empresarial (IE) con BigQuery mediante consultas o vistas personalizadas. Es posible que las consultas que usan funciones y operadores que no están en esta lista se ejecuten más lentamente.

Para obtener una lista de funciones de SQL no compatibles, consulta la sección Funciones no compatibles.

Para obtener más información sobre el uso de consultas y vistas personalizadas en Data Studio, consulta Conéctate a BigQuery. Para obtener más información sobre cómo conectar otras herramientas de IE a BigQuery, consulta la descripción general de la interfaz de SQL de BigQuery BI Engine (vista previa).

Para obtener una lista de todos los operadores y las funciones de SQL estándar de BigQuery, consulta Funciones y operadores de SQL estándar.

Operadores optimizados

  • ORDER BY
  • LIMIT count [OFFSET Skip_rows]
  • UNION ALL
  • HAVING
  • GROUP BY
  • WHERE
  • INNER, LEFT y RIGHT JOIN (con límites de tamaño más pequeños)

Funciones optimizadas

Comparación

  • =
  • <>
  • <
  • <=
  • >
  • >=
  • BETWEEN
  • IN
  • LEAST
  • GREATEST
  • CASE
  • COALESCE
  • IF
  • ISNULL
  • IS [NOT] NULL
  • IS [NOT] TRUE
  • IS [NOT] FALSE
  • IFNULL
  • NULLIF

Lógica

  • NOT
  • AND
  • OR

Math

  • - Menos unario
  • +
  • - (Menos binario)
  • *
  • /
  • IEEE_DIVIDE
  • DIV
  • MOD
  • ROUND
  • TRUNC
  • FLOOR
  • CEIL
  • ABS
  • SIGN
  • SQRT
  • EXP
  • POW
  • IS_INF
  • IS_NAN
  • SIN
  • SINH
  • ASIN
  • ASINH
  • COS
  • COSH
  • ACOS
  • ACOSH
  • TAN
  • TANH
  • ATAN
  • ATAN2
  • ATANH
  • LOG
  • LN
  • LOG10

Nivel de bits

  • BIT_COUNT
  • ~ (Nivel de bits NOT)
  • & (Nivel de bits AND)
  • | (Nivel de bits OR)
  • ^ (Nivel de bits XOR)
  • << (Desplazamiento de bits a la izquierda)
  • >> (Desplazamiento de bits a la derecha)

Strings y bytes

  • CHAR_LENGTH
  • LENGTH
  • BYTE_LENGTH
  • STRPOS
  • SUBSTR
  • STARTS_WITH
  • ENDS_WITH
  • STRING_LIKE
  • REGEXP_CONTAINS
  • REGEXP_EXTRACT
  • REGEXP_REPLACE
  • UPPER
  • LOWER
  • CONCAT
  • TRIM
  • LTRIM
  • RTRIM
  • LPAD
  • RPAD
  • REPEAT
  • REVERSE
  • REPLACE
  • SAFE_CONVERT_BYTES_TO_STRING
  • TO_HEX
  • FROM_HEX
  • TO_BASE32
  • FROM_BASE32
  • TO_BASE64
  • FROM_BASE64
  • FORMAT
  • NORMALIZE
  • JSON_EXTRACT
  • JSON_EXTRACT_SCALAR
  • ASCII
  • SAFE_CONVERT_BYTES_TO_STRING
  • INSTR
  • LEFT
  • RIGHT
  • TRANSLATE
  • INITCAP

Marcas de tiempo, fechas y horas

  • Funciones de marca de tiempo
    • TIMESTAMP_MICROS
    • TIMESTAMP_MILLIS
    • TIMESTAMP_SECONDS
    • TIMESTAMP
    • STRING(timestamp_expression,[zona horaria)
    • UNIX_SECONDS
    • UNIX_MILLIS
    • UNIX_MICROS
    • FORMAT_TIMESTAMP
    • PARSE_TIMESTAMP
    • TIMESTAMP_ADD
    • TIMESTAMP_SUB
    • TIMESTAMP_DIFF
    • EXTRACT
    • DATE
    • TIME
    • DATETIME
    • TIMESTAMP_TRUNC
  • Funciones de fecha
    • DATE(año, mes, día)
    • DATE_FROM_UNIX_DATE
    • UNIX_DATE
    • FORMAT_DATE
    • PARSE_DATE
    • DATE_ADD
    • DATE_SUB
    • DATE_DIFF
    • EXTRACT (from DATE)
    • DATE_TRUNC
    • CURRENT_TIMESTAMP
  • Funciones de tiempo
    • EXTRACT
    • FORMAT_TIME
    • PARSE_TIME
    • TIME_ADD
    • TIME_SUB
    • TIME_DIFF
    • TIME_TRUNC
    • CURRENT_TIME
  • Funciones de fecha y hora
    • DATETIME
    • EXTRACT
    • FORMAT_DATETIME
    • PARSE_DATETIME
    • DATETIME_ADD
    • DATETIME_SUB
    • DATETIME_DIFF
    • DATETIME_TRUNC
    • CURRENT_DATETIME

Hash

  • FARM_FINGERPRINT
  • MD5
  • SHA1
  • SHA256
  • SHA512

Redes

  • NET_IP_IN_NET
  • NET_MAKE_NET
  • NET.HOST
  • NET.REG_DOMAIN
  • NET.PUBLIC_SUFFIX
  • NET.IP_FROM_STRING
  • NET.IP_TO_STRING
  • NET.IP_NET_MASK
  • NET.IP_TRUNC
  • NET.IPV4_FROM_INT64
  • NET.IPV4_TO_INT64

Datos geográficos

  • Constructores
    • ST_GEOGPOINT
    • ST_MAKELINE
    • ST_MAKEPOLYGON
    • ST_MAKEPOLYGONORIENTED
  • Analizadores
    • ST_GEOGFROMGEOJSON
    • ST_GEOGFROMTEXT
    • ST_GEOGFROMWKB
    • ST_GEOGFROMWKB
    • ST_GEOGPOINTFROMGEOHASH
  • Formateadores
    • ST_ASBINARY
    • ST_ASGEOJSON
    • ST_ASKML
    • ST_GEOHASH
  • Transformaciones
    • ST_BOUNDARY
    • ST_CENTROID
    • ST_CLOSESTPOINT
    • ST_CONVEXHULL
    • ST_DIFFERENCE
    • ST_EXTERIORRING
    • ST_INTERSECTION
    • ST_SIMPLIFY
    • ST_SNAPTOGRID
  • Descriptores de acceso
    • ST_DIMENSION
    • ST_ENDPOINT
    • ST_GEOMETRYTYPE
    • ST_ISCOLLECTION
    • ST_ISEMPTY
    • ST_NPOINTS
    • ST_NUMGEOMETRIES
    • ST_NUMPOINTS
    • ST_POINTN
    • ST_STARTPOINT
    • ST_X
    • ST_Y
  • Predicados
    • ST_CONTAINS
    • ST_COVEREDBY
    • ST_COVERS
    • ST_DISJOINT
    • ST_DWITHIN
    • ST_EQUALS
    • ST_INTERSECTS
    • ST_INTERSECTSBOX
    • ST_TOUCHES
    • ST_WITHIN
  • Medidas
    • ST_ANGLE
    • ST_AREA
    • ST_AZIMUTH
    • ST_DISTANCE
    • ST_LENGTH
    • ST_MAXDISTANCE
    • ST_PERIMETER

Funciones SAFE

  • Matemáticas
    • MOD
    • ROUND
    • ABS
    • SQRT
    • POW
    • SINH
    • ASIN
    • COSH
    • ACOS
    • ACOSH
    • ATANH
    • LN
    • LOG
    • LOG10
    • FLOOR
    • CEIL
    • DIV
    • EXP
    • ROUND
    • SAFE_NEGATE
    • SAFE_ADD
    • SAFE_SUBTRACT
    • SAFE_MULTIPLY
    • SAFE_DIVIDE
  • Strings
    • REGEXP_CONTAINS
    • REGEXP_EXTRACT
    • REGEXP_REPLACE
    • FORMAT
    • SUBSTR
    • ASCII
    • SAFE_CONVERT_BYTES_TO_STRING
    • INSTR
    • LEFT
    • RIGHT
    • TRANSLATE
    • INITCAP
  • Marcas de tiempo, fechas y horas
    • DATE_FROM_UNIX_DATE
    • PARSE_DATE
    • PARSE_DATETIME
    • PARSE_TIME
    • PARSE_TIMESTAMP
    • FORMAT_TIMESTAMP
    • TIMESTAMP_SECONDS
    • TIMESTAMP_MILLIS
    • TIMESTAMP_MICROS
  • Herramientas de redes
    • NET.SAFE_IP_FROM_STRING
  • Otro
    • SAFE_CAST

Funciones de agregación

  • SUM
  • COUNT
  • COUNTIF
  • ANY_VALUE
  • AVG
  • MAX
  • MIN
  • HLL_COUNT.INIT
  • HLL_COUNT.MERGE
  • HLL_COUNT.MERGE_PARTIAL
  • La cláusula GROUP BY
  • BIT_AND
  • BIT_OR
  • BIT_XOR
  • LOGICAL_AND
  • LOGICAL_OR
  • DISJUNCTION_AGG
  • STRING_AGG
  • CORR
  • COVAR_POP
  • COVAR_SAMP
  • STDDEV_POP
  • STDDEV_SAMP
  • STDDEV
  • VAR_POP
  • VAR_SAMP
  • VARIANCE
  • APPROX_COUNT_DISTINCT

Otro

  • CAST
  • HLL_COUNT.EXTRACT
  • El operador de punto para los campos STRUCT
  • ARRAY_LENGTH

Funciones no compatibles

No se admiten las siguientes funciones de SQL:

  • UDF
  • Tablas externas
  • Los tipos ARRAY y STRUCT
  • Funciones analíticas

Si bien algunas funciones de SQL no son compatibles con las consultas personalizadas de BigQuery BI Engine, existe una solución alternativa disponible:

  1. Crea una consulta personalizada en BigQuery.
  2. Guarda los resultados de la consulta en una tabla.
  3. Programa tu consulta personalizada para actualizar la tabla de forma periódica. Una frecuencia de actualización diaria o por hora funciona mejor, ya que actualizar cada minuto invalidará la caché de BI Engine con más frecuencia.
  4. Haz referencia a esta tabla en las consultas fundamentales para el rendimiento.