我有一个包含大约 200 个表的 MySQL 数据库。其中 50 个是小型 2 字段“id-data”查找表。这些数据库的几个托管在共享服务器上。我被告知,由于表太多导致性能问题,我需要减少共享托管环境中的表总数。
我的问题是:是否可以/应该将 50 个 2 字段查找表合并为一个带有“id-field_name-data”字段的 3 字段表?即使可以做到这一点,我也需要在 PHP 用户应用程序上做很多工作。我的另一个选择是将数据库移动到专用服务器,托管成本要高得多。
我不认为我的 200 个表数据库实际上会在此共享托管服务器上造成任何性能问题,至少从用户应用程序的角度来看不会。任何单个查询中连接的表都不会超过 10 个;尽管我看到 phpmyadmin 在这些数据库上生成了一些非常慢的查询。
答案1
您可以在以下条件下采用“id-field-data”方法:
1- 您的表不包含太多记录。因此,最终的表不会太大。
2-在该字段上创建索引field
以加快搜索速度。
3-修改您的 PHP 代码并不困难,您可以以可控的方式进行修改以避免破坏它。
4-创建代码/表的另一个副本,完成后您可以删除不需要的表/代码。