Сколько объединений на функциональность в реальном приложении? - PullRequest
5 голосов
/ 02 июля 2010

Запросы, которые я создаю часто, имеют 7-8 соединений для извлечения данных. Являются ли эти многочисленные соединения нормальными в реальном приложении базы данных или мой дизайн базы данных плох? Мне любопытно, потому что если по каждому запросу база данных должна выполнить так много работы, то не умрет ли она, если подключится несколько тысяч клиентов?

Ответы [ 3 ]

2 голосов
/ 02 июля 2010

По моему мнению, в некоторых случаях это неизбежно, ключ в том, чтобы иметь правильные индексы для запросов, которые вы делаете.С глубоким графом объектов в ORM, или, возможно, графом с объединенными подклассами, было бы легко просмотреть 7-8 соединений, о которых вы говорите.Я очень хочу услышать, что все остальные скажут об этом:)

1 голос
/ 02 июля 2010

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

1 голос
/ 02 июля 2010

Невозможно сделать вывод в этом отношении без подробностей логики приложения. Если логика приложения приводит вас к неизбежным объединениям для поддержания целостности, это не проблема, и ваша платформа базы данных должна справиться с этим.

...