Отношения многие ко многим в Google AppEngine - эффективны? - PullRequest
1 голос
/ 09 июля 2010

Я использую Google Appengine для хранения списка избранного, связывая идентификатор пользователя Facebook с одним или несколькими идентификаторами из Bing.Мне нужны вызовы функций, возвращающие количество пользователей, которые выбрали элемент, и количество раз, когда элемент был выбран (и кем).

Мой вопрос, должен ли я разрешить эту связь в две таблицы дляэффективность?Если у меня есть таблица со столбцами для идентификатора Facebook и Bing ID, я могу легко использовать запросы на выборку для обеих функций, описанных выше, однако для этого потребуется поискать каждую строку в каждом запросе.Альтернатива состоит в том, чтобы иметь две таблицы, одну для избранного каждого пользователя Facebook, а другую - для избранных пользователей каждого элемента Bing, и использовать транзакции для их синхронизации.Преимущество двух таблиц заключается в возможности использовать JSON или CSV в базе данных, так что нужно извлечь только одну строку и немного манипулировать API.

Какой вариант лучше,с точки зрения эффективности и минимизации затрат?

Спасибо, Мэтт

1 Ответ

0 голосов
/ 09 июля 2010

Не думаю, что на такие вопросы сложно и быстро ответить.«Стоит ли эта оптимизация» всегда зависит от многих переменных, таких как, не является ли отсутствие оптимизации действительно проблемой для начала?Насколько это большая проблема?Какова стоимость с точки зрения дополнительного времени и усилий и риска ошибок более сложной оптимизированной реализации по сравнению с преимуществами?Каковы могут быть дополнительные затраты на реализацию оптимизации позднее, например, перенос данных в новую схему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...