代码点火器 5 的连接过于规范化



我正在构建一个相当大的CodeIgniter应用程序,并首先尽可能规范化 datbase。

让我开始,网站响应不慢或出现任何问题。只是想知道您对许多加入的看法?

$this -> db -> join('A', 'B.user_id = A.id', 'left');
$this -> db -> join('C', 'A.id = C.user_id', 'left');
$this -> db -> join('D', 'B.project_id = D.id', 'left');
$this -> db -> join('E', 'E.client_id = C.id', 'left');

如您所见,这将仅在连接查询中调用 5 个表。获取应用程序数据的每个细节是非常需要的,3个表只是链接表。

我可以在这样的连接上吃诚实的洋葱吗?

注意:我需要区分表,但我正在等待,直到其他所有内容都经过代码优化

问候克里斯

我目前正在重新开发代码点火器应用程序/站点。为了提供更大的灵活性并限制冗余数据的拉取,我将许多单个大表拆分为多个小表。这导致我的查询在我的一些管理查询上最多有 8 个联接(在我看来,对于管理员查询来说不是问题。

在前端,许多查询已从无连接更改为最多 5 个,这实际上提高了站点的速度,因为我提取的数据仍然比旧的大表布局少。

简而言之 - 我不认为多个联接有什么问题,它们有助于减少被拉取的数据量,并且在任何大型应用程序中都是可以预期的。

但是,这与你得到的任何其他答案一样,是一种意见,完全取决于你的表结构和你使用的索引,而不是连接的数量。

最新更新