Ponieważ nie jest możliwa aktualizacja danych w tabeli w BigQuery i obsługiwany jest tylko mechanizm dołączania, zdecydowałem się tworzyć nowe tabele miesięcznie. Załóżmy, że dla roku 2012 tabele będą (tbl_012012
, tbl_022012
, , ... tbl_122012
). Każdy rekord będzie przechowywany wraz z datą timestamp
jako ciąg.Wywoływanie wielu tabel w Big Query
Teraz, jeśli moja aplikacja chce pobrać zapisy od stycznia 2012 (tbl_012012
) do marca 2012 (tbl_032012
), czy interfejs BigQuery API będzie automatycznie przechodzić przez żądane tabele za pomocą pojedynczego zapytania SQL lub czy będę musiał napisać wiele zapytań SQL z dodatkowym kodem aplikacji, aby pobrać każdy wynik zapytania, a następnie zagregować je w całości?
Wielkie dzięki. Ale to będzie działać w przypadku zapytań o zakres, co jeśli moje zapytanie wyszuka jeden rekord, który może być nadmiarowy. Tak więc w tym przypadku Big Query będzie oczywiście przechodzić przez każdy miesięczny stół, aby znaleźć ten rekord. –
BigQuery jest zoptymalizowany pod kątem zapytań zbiorczych, w przeciwieństwie do zapytań, które szukają pojedynczego rekordu. Tak, tak, niestety w tym przypadku musisz przeszukać tabelę każdego miesiąca, jeśli szukasz tylko jednego rekordu, który może znajdować się w dowolnej z tabel. –
Dzięki za pomoc. –