我目前正在将我的语言文件保存在 MySQL 数据库中。
一次获取所有特定于页面的语言字符串通常更好(我正在考虑性能)(查询少得多,但它们更大并且包含一些不必要的字符串)还是按请求获取(这会提供更多请求,但是相反,它们要小得多,并且不会获取不必要的字符串)。
编辑:我正在使用 APC,大约有 200-250 个页面特定的字符串,但如果我获取一个请求,它可能会变成 100-150。我在同一台机器上托管 MySQL。
这完全取决于您的情况和可用资源。例如,如果您向远程服务器发出单线程请求,一次获取所有内容可能会更好,但更多的小请求可能会更快,并且在本地 MySQL 服务器上运行的内存密集型更少(Tuncay 说它会导致糟糕的性能,坚韧)。如果页面被装配成异步发出请求,这样您就不会在发出另一个请求之前等待最后一个请求,它可能会更快。
但是,真正了解的唯一方法是在您的环境中运行一些基准测试。
我的经验是mysql服务器可以轻松处理一个大请求。几个小的反而会导致性能很差。在可比较的情况下,我发现一个查询在性能方面总是更好。从数据库中获取全部数据,然后让 php 整理其余部分。
但是,仅在一个查询中从 db 中获取数据会更好。你确定你不能使用适当的“where”子句吗?