Как общий совет, я настоятельно рекомендую вам ознакомиться с документацией по оптимальным методам выполнения запросов . Там вы сможете найти много информации о том, как оптимизировать производительность BigQuery с нескольких точек зрения (ввод-вывод, перестановка, конкретные шаблоны запросов ...). Кроме того, эта другая страница на , как устранять ошибки BQ , может быть полезна, когда вы сталкиваетесь с определенными ошибками задания, а также содержит некоторые рекомендации по их устранению. Возможно, вас заинтересует оценка затрат (а также объема данных, которые будут обработаны и, следовательно, оценка сложности запроса) с помощью пробных прогонов. Наконец, вы можете взглянуть на план запроса , чтобы лучше понять, как происходит выполнение запроса.
Что касается вашего конкретного случая использования, позвольте мне дать пару советов:
- Теперь, когда вы начинаете с BigQuery, начните со стандартного SQL, а не унаследованного SQL (я вижу, что вы используете устаревший SQL, когда вы вызываете таблицы, используя формат
[project:dataset.table]
). Стандартный SQL является рекомендуемым языком для использования с BigQuery, и хотя он может не иметь существенных различий в производительности, есть некоторые преимущества использования стандартного SQL . Вы можете переключать используемый язык SQL с помощью любого из методов, представленных в документации.
- Вам следует оптимизировать шаблоны JOIN , поместив сначала самые большие таблицы (т. Е. Слева от операции JOIN).
Наконец, я хотел бы поделиться некоторыми советами о том, как лучше работать с переполнением стека:
- Не делитесь данными, о которых не хотят знать другие пользователи. Например, в идеале, идентификаторы проектов или имена наборов данных не должны быть общими. Таким образом, рекомендуется, чтобы вы запутали эти данные перед отправкой любого запроса или аналогичного. В этом случае вы используете общедоступные наборы данных, но если вы используете свои собственные, не стесняйтесь использовать вместо них заполнители.
- Поделитесь кодом вместо скриншотов. Таким образом, сообщество сможет лучше справиться с вашим вопросом, имея возможность копировать выдержки, не вводя его вручную.
- Будьте настолько конкретны, насколько можете. Расследуйте самостоятельно, попытайтесь решить свою проблему, а затем, если вам нужна помощь сообщества переполнения стека, будьте настолько конкретны, насколько это возможно, в отношении вашей проблемы. Это поможет нам сузить решение и помочь вам наилучшим образом.
- Посетите справочный центр. Там вы сможете найти много информации о , как улучшить свои вопросы , чтобы получить более качественные ответы на них.