# #google-bigquery
Вопрос:
Какова наилучшая практика, когда необходимо выполнить объединение таблиц в подмножестве таблиц? Т. Е. Рассмотрите следующие запросы:
WITH pruned AS (
SELECT id FROM foo WHERE timestamp >= TIMESTAMP('some timestamp')
)
SELECT bar.* FROM bar
INNER JOIN foo
ON bar.id = pruned.id
SELECT bar.* FROM bar
INNER JOIN foo
ON bar.id = foo.id
WHERE foo.timestamp >= TIMESTAMP('some timestamp')
SELECT bar.* FROM bar
INNER JOIN foo
ON foo.timestamp >= TIMESTAMP('some timestamp')
AND bar.id = foo.id
Я предполагаю, что последний подход технически является наиболее эффективным? Возможно, это зависит от данных таблиц, но я предполагаю, что BigQuery pruned
временно хранит таблицу в первом подходе, так что это хуже?
Комментарии:
1. Для тех, кто голосует за то, чтобы закрыть это. Даже если это основано на мнении, было бы неплохо получить некоторое объяснение по трем различным запросам и тому, как они будут работать. Первое может быть очевидным, но что касается двух последних, то неясно, как BQ будет выполнять эти инструкции.