多个 MySQL 数据库连接 PHP 是好事还是坏事?
Multiple MySQL DB connections in PHP good or bad practise?
我想在我的网站上添加一个新的讨论区,用户可以在其中添加主题和接收评论。
我想我会为主题和评论添加一个新的数据库,以避免我的主数据库变得非常大。
但是,我需要连接到主数据库来检索用户信息、执行登录过程等等。
那么,什么应该对我的网站性能更好?为什么?
1- 在我的主数据库中为主题和评论添加新表。
2- 为主题添加一个新数据库并建立 2 个数据库连接。
注意:请关注问题的总体思路,而不仅仅是这个具体案例。
我会说选项 1。
它使您的代码更有条理,并且您的站点不必加载第二个数据库并从中检索数据。连接哪个用户发布了什么也更容易。只要您以正确的方式编写查询,大型数据库就无关紧要。
将 table 添加到同一个数据库。
topics
和 comments
table 与您现有的数据有关系(尤其是您的 users
table,因为您可能想要存储哪个用户发起了一个话题或发表了评论),因此应该在同一个数据库中。
您甚至可能想要强制执行 referential integrity of your database by making sure that every author_id
in your topics
and comments
tables exists as a user_id
in your users
table. You can enforce this using foreign key constraints,但据我所知,前提是所有 table 都在同一个数据库中。
我想在我的网站上添加一个新的讨论区,用户可以在其中添加主题和接收评论。
我想我会为主题和评论添加一个新的数据库,以避免我的主数据库变得非常大。
但是,我需要连接到主数据库来检索用户信息、执行登录过程等等。
那么,什么应该对我的网站性能更好?为什么?
1- 在我的主数据库中为主题和评论添加新表。
2- 为主题添加一个新数据库并建立 2 个数据库连接。
注意:请关注问题的总体思路,而不仅仅是这个具体案例。
我会说选项 1。
它使您的代码更有条理,并且您的站点不必加载第二个数据库并从中检索数据。连接哪个用户发布了什么也更容易。只要您以正确的方式编写查询,大型数据库就无关紧要。
将 table 添加到同一个数据库。
topics
和 comments
table 与您现有的数据有关系(尤其是您的 users
table,因为您可能想要存储哪个用户发起了一个话题或发表了评论),因此应该在同一个数据库中。
您甚至可能想要强制执行 referential integrity of your database by making sure that every author_id
in your topics
and comments
tables exists as a user_id
in your users
table. You can enforce this using foreign key constraints,但据我所知,前提是所有 table 都在同一个数据库中。