Có thể có một sự khác biệt về hiệu suất, nhưng nó có thể khá nhỏ.
Đây là những gì tôi tìm thấy (tất cả dựa trên Google Docs cho Python ).
BigTable không hỗ trợ thông tin PolyModel nguyên bản. Thay vào đó, nó được triển khai bằng cách sử dụng thuộc tính 'class'. Vì vậy, khi bạn cố gắng thực hiện tìm kiếm, ví dụ, để tìm một lớp cơ sở, bạn sẽ tìm kiếm trên thuộc tính 'lớp' này.
Tất cả các truy vấn sử dụng lớp PolyModel đều có bộ lọc bổ sung được áp dụng lọc theo lớp đã cho (sử dụng thuộc tính 'lớp').
Bất kỳ chỉ mục nào được tạo cho lớp PolyModel, đều phải tính đến cột 'lớp' thêm.
Về cơ bản, lớp PolyModel tự xử lý thuộc tính của 'lớp', chèn nó vào các truy vấn và sử dụng cho các truy vấn khác. Ngoài ra, nó hoạt động giống hệt với việc sử dụng BigTable tiêu chuẩn.
Vì vậy, sự khác biệt thực sự chỉ là thêm và duy trì thêm một cột.
Có một sự khác biệt hiệu suất? Vâng, có lẽ là như vậy. Mỗi cột bạn thêm vào bất kỳ hệ thống cơ sở dữ liệu nào cũng sẽ có tác động hiệu suất. Nhưng, nó có ý nghĩa? Chắc là không.