对于 MySQL table 设计,这两个选项中哪个选项的加载时间效率更高?

Which of these two options is more load time efficient for MySQL table design?

这是一个网站问题,除了正确的数据库设计外,还考虑了缓存和查询数量。

1) 将每个机构的所有字段都放入一个数据库中,2) 将信息分成两个 table,第一个 table 将具有信息,这通常会更有效吗这将是最常使用的。

该项目列出了特定类型组织的最多 100 条记录,其中包含众多字段,可帮助查看者选择最能满足其需求的组织。

目前大约有 40 个字段,但这可能会发生变化。

有一个 "index" 页面列出了每个机构的大约 10 个字段。由于这是网站上最常用的页面之一,数据更改很少,因此缓存是一个因素。

"index" 页面点击进入包含所有详细信息的页面。对于各个机构页面,数据将来自两个 table,并且将有两个数据库查询或一个连接类型查询。

页面加载的另一个问题是,此信息将通过 iFrame 从共享托管站点传送到 Web 服务站点。不幸的是,这种设置是不可协商的,但它确实增加了页面加载问题。

我做了一些研究,但大多数回复都是针对不遵循基本规范化的数据库设计。可能对于少量数据,我的问题无关紧要。

我觉得这听起来像是过早的优化。除非你谈论的是一个每小时有数百万次点击的网站,否则我会从一个包含所有 40 个字段的 table(这就是我在编写数据库时所假设的)开始,你可以简单地扩展在将来。另外,你的前端UI应该可以优化对数据库的请求,所以它只需要偶尔刷新。

根据经验,必须处理主要和次要 table 是一件痛苦的事情,特别是当您是 updating/deleting 数据时,而且每个查询都需要访问即使是辅助 table 中的 1 个字段,现在也需要加入。因此,除非绝对需要,否则您不应该这样做。

最好将所有记录都保存在一个 table 中,如果需要,您以后可以随时向该 table 添加字段。