Prawdopodobnie występuje różnica w wydajności, ale prawdopodobnie jest ona dość mała.
Oto, co znalazłem (wszystkie oparte na Dokumentach Google dla Pythona ).
BigTable nie obsługuje natywnie informacji PolyModel. Zamiast tego jest implementowany za pomocą właściwości „class”. Tak więc, kiedy próbujesz przeprowadzić wyszukiwanie, na przykład w celu znalezienia klasy podstawowej, będziesz szukał tej właściwości „class”.
Wszystkie zapytania korzystające z klasy PolyModel mają zastosowany dodatkowy filtr, który filtruje według danej klasy (przy użyciu właściwości „class”).
Wszelkie indeksy utworzone dla klasy PolyModel muszą uwzględniać dodatkową kolumnę „class”.
Zasadniczo klasa PolyModel sama zajmuje się właściwością „class”, wstawiając ją do zapytań i wykorzystując do innych zapytań. Poza tym działa identycznie jak standardowe użycie BigTable.
Różnica polega na dodaniu i utrzymaniu jednej dodatkowej kolumny.
Czy istnieje różnica w wydajności? Tak, prawdopodobnie tak. Każda kolumna dodana do dowolnego systemu bazy danych będzie miała wpływ na wydajność. Ale czy to ma znaczenie? Prawdopodobnie nie.