最適化される SQL 関数と演算子

BigQuery BI Engine は、カスタムクエリまたはビューを使用して Google データポータルを BigQuery に接続するときに、次の標準 SQL 関数と演算子を最適化します。このリストにない関数と演算子を使用するクエリは、実行速度が遅くなる可能性があります。

サポートされていない SQL の機能のリストについては、サポートされていない機能セクションをご覧ください。

データポータルでのカスタムクエリとビューの使用についての詳細は、BigQuery に接続するをご覧ください。すべての BigQuery 標準 SQL 演算子と関数のリストについては、標準 SQL の関数と演算子をご覧ください。

最適化される演算子

  • ORDER BY
  • LIMIT count [OFFSET skip_rows]
  • UNION ALL
  • HAVING
  • GROUP BY
  • WHERE
  • INNERLEFT、および RIGHT JOIN(サイズ制限が小さい)

最適化される関数

比較

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

論理

  • NOT
  • AND
  • OR

数学

  • -(単項マイナス)
  • +
  • -(バイナリ マイナス)
  • *
  • /
  • 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

ビット演算

  • BIT_COUNT
  • ~(ビット演算NOT
  • &(ビット演算AND
  • |(ビット演算OR
  • ^(ビット演算XOR
  • <<(ビット演算左シフト)
  • >>(ビット演算右シフト)

文字列とバイト

  • 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

タイムスタンプ、日付、時間

  • タイムスタンプ関数
    • TIMESTAMP_MICROS
    • TIMESTAMP_MILLIS
    • TIMESTAMP_SECONDS
    • TIMESTAMP
    • STRING(timestamp_expression,[timezone])
    • UNIX_SECONDS
    • UNIX_MILLIS
    • UNIX_MICROS
    • FORMAT_TIMESTAMP
    • PARSE_TIMESTAMP
    • TIMESTAMP_ADD
    • TIMESTAMP_SUB
    • TIMESTAMP_DIFF
    • EXTRACT
    • DATE
    • TIME
    • DATETIME
    • TIMESTAMP_TRUNC
  • 日付関数
    • DATE(year, month, day)
    • DATE_FROM_UNIX_DATE
    • UNIX_DATE
    • FORMAT_DATE
    • PARSE_DATE
    • DATE_ADD
    • DATE_SUB
    • DATE_DIFF
    • EXTRACT (from DATE)
    • DATE_TRUNC
    • CURRENT_TIMESTAMP
  • 時間関数
    • EXTRACT
    • FORMAT_TIME
    • PARSE_TIME
    • TIME_ADD
    • TIME_SUB
    • TIME_DIFF
    • TIME_TRUNC
    • CURRENT_TIME
  • 日時関数
    • DATETIME
    • EXTRACT
    • FORMAT_DATETIME
    • PARSE_DATETIME
    • DATETIME_ADD
    • DATETIME_SUB
    • DATETIME_DIFF
    • DATETIME_TRUNC
    • CURRENT_DATETIME

ハッシュ

  • FARM_FINGERPRINT
  • MD5
  • SHA1
  • SHA256
  • SHA512

ネットワーキング

  • 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

SAFE 関数

  • SAFE_CAST
  • MOD
  • ROUND
  • ABS
  • SQRT
  • POW
  • REGEXP_CONTAINS
  • SAFE_NEGATE
  • SAFE_ADD
  • SAFE_SUBTRACT
  • SAFE_MULTIPLY
  • SAFE_DIVIDE
  • NET.SAFE_IP_FROM_STRING

集計関数

  • SUM
  • COUNT
  • COUNTIF
  • ANY_VALUE
  • AVG
  • MAX
  • MIN
  • HLL_COUNT.INIT
  • HLL_COUNT.MERGE
  • HLL_COUNT.MERGE_PARTIAL
  • 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
  • COUNT DISTINCT
  • APPROX_COUNT_DISTINCT

その他

  • CAST
  • HLL_COUNT.EXTRACT
  • STRUCT フィールドのドット演算子
  • ARRAY_LENGTH

サポートされていない機能

次の SQL 機能はサポートされていません。

  • SQL パラメータ
  • UDF
  • 外部テーブル
  • GEOGRAPHYARRAY、およびSTRUCT
  • 分析関数
  • 繰り返しフィールド(配列)

一部の SQL 機能は BigQuery BI Engine カスタムクエリでサポートされていませんが、次の回避策があります。

  1. Google データポータルでカスタムクエリを作成する。
  2. クエリの結果をテーブルに保存する。
  3. カスタムクエリをスケジュール設定して、テーブルを定期的に更新する。1 分ごとに更新すると BI Engine キャッシュが頻繁に無効になるため、1 時間ごとまたは 1 日ごとの更新頻度が最適です。
  4. クエリを直接使用する代わりに、BI Engine をテーブルに接続する。