У меня есть таблица events_20181001 till events_20181024
в формате
projectname:some_name.events_20181024
, и я запрашиваю определенные столбцы.
Если я беру _Table_suffix
между event_20181001
и event_20181024
, данные составляют около 14 ГБ, что очень много и стоит дороже. Как я могу разрешить / оптимизировать запрос?
реальный запрос выглядит так:
select date, evname as ev1,ui.value.string_value as k1, upk1.value.string_value as k2, upk.value.string_value as k3
from `project_name.some_name.*`,
unnest(somejsonkey) as ui,
unnest(somejsonkey) as upk,
unnest(somejsonkey) as upk1
where event_name = 'abc'
and upk1.key = 'def'
and upk.key ='ghi'
and ui.key = 'someidentity'
and _TABLE_SUFFIX BETWEEN 'events_20181001' AND 'events_20181024';
Я беру все таблицы, а затем применяю фильтр, есть ли возможность фильтровать на ходу? Как и для таблицы events_20181001, общий размер составляет 1,6 ГБ, и если я запрашиваю одну таблицу, то ее 466 МБ. Но если я возьму все таблицы, то это может быть довольно огромным, поскольку он принимает все данные вместо отфильтрованной части.
видите ли вы какой-либо недостающий вариант, с которым вы просите нас помочь? дайте нам подсказку! вы выбираете только те таблицы, которые вам нужны, и столбцы, которые вам нужны - так как вы увидите снижение стоимости - вместо того, чтобы, возможно, отказаться от некоторых столбцов и некоторых дней / таблиц?