У меня есть один маленький вопрос. Является ли MySQL JOIN тяжелой работой? Например, в одном из моих проектов у меня около 10 объединений в одном запросе. Это плохо?
Это большой проект, и у меня довольно много таблиц, потому что я часто слышу, что неплохо разбить всю вашу базу данных на мелкие части. что именно то, что я сделал, и результат - 10 объединений. так что же такое решение?
Вы присоединяетесь, когда вам нужно присоединиться, поэтому вопрос о том, является ли это тяжелой операцией или нет, не имеет большого значения.
В хорошей базе данных у вас будет одна таблица на сущность, например продукты, клиенты, заказы. Если вы посмотрите более внимательно, вы увидите, что заказ состоит из одного заголовка и множества позиций, относящихся к продукту. Таким образом, это должны быть две таблицы заказов: order_header и order_detail. Четыре таблицы для примера. Вы не разделили бы это, как французские клиенты и американские клиенты, а также дешевые продукты и дорогие продукты, потому что страна-клиент является простым атрибутом и зависит от того, дешево ли продукт зависит от его цены (цены), а цены также являются просто атрибутами; объекты остаются клиентом и продуктом.
Сказав это, "хорошая идея разделить всю вашу базу данных на мелкие части" - это странный совет. У вас будет одна таблица для каждого объекта, которая может быть всего лишь двумя таблицами для некоторой адресной базы данных или тысячей таблиц для большой базы данных продуктов компании.
Чтобы ответить на вопрос: Нет, неплохо иметь десять соединений в запросе. Вы можете захотеть, чтобы кто-то посмотрел на ваш дизайн базы данных, хотя, если вы слепо следуете советам, чтобы создать множество таблиц.