2016-01-01 6 views
0

Я просто хочу знать, какой из этих двух структур является лучшим для лучшей производительности:Какая структура данных (полный HABTM?)

  • Полный HABTM (многие ко многим), но с очень большой присоединиться к таблице (поэтому только одна ассоциация для запроса)
  • Или HABTM + 1 hasOne (что значительно сокращает строки таблицы соединений (равные числу основных объектов, приблизительно 50 000)? Но этот метод заставил меня сделать запрос с 2 ассоциациями.

Итак, чтобы подвести итог. Должен ли я использовать запрос с одной ассоциацией, но с большой таблицей соединений (120 000rows) или с запросом для двух ассоциаций, но с более легкой таблицей соединений?

+0

Попробуйте http://dba.stackexchange.com/help/on-topic или http://programmers.stackexchange.com/help/on-topic. Я считаю, что основным фактором производительности является архитектура базы данных, используемая фреймворк/язык является вторичной. – pyb

+1

Попробуйте обеимерить. Только способ узнать. –

+0

Спасибо за ваши советы. – user3540430

ответ

0

После некоторых размышлений, я думаю, что буду использовать одно соединение. Я только что видел несколько тестов, которые показывают, что одно соединение будет более эффективным, чем несколько запросов, даже если в таблице объединений содержится много строк. Это также меньше усилий для разработки моего кода приложения.

Я остаюсь прислушиваться к советам. Спасибо

+0

Это нормально, чтобы принять ваш собственный ответ. Это помогает людям находить вопросы без принятых ответов. Будет ли лучший ответ, вы сможете принять его позже. – pyb