mysql获取所有行vs按需选择

时间:2016-01-29 17:25:31

标签: php mysql

我在laravel中建立一个应用程序(不相信这个查询我不认为)。

在db表“settings”中保存了一些用户提供的设置。

为了便于使用,这些值在启动时被合并到app(一个简单的php数组)的默认配置中,这意味着我可以使用1个接口来访问默认配置数组中的值,或者覆盖数据库中的值。

这当前意味着在启动之前正在使用> DF V1 V2 V3 row1 a <NA> <NA> row2 b c <NA> row3 d e f 查询。

我只是想知道是否有人知道这是否是次优的?

我预计此表中的行数不会超过100行,每次请求都需要大约60%的行。

考虑连接/查找/返回查询,它最适合:

  1. 保持原样,只需在启动时加载所有

  2. 添加SELECT key,value FROM settings;列,仅在启动时加载此设置为true并按“按需”加载其余内容(当请求时)

  3. 按需加载每一个

  4. 由于行数太少,而且数据是每行两个简单的字符串,我猜测只需加载它们就像加载一些数据一样快,然后根据需要加入其中涉及多个连接请求。

    我是对的,还是应该考虑通过选项2/3或其他方法进行优化?

1 个答案:

答案 0 :(得分:0)

为简单起见(代码不太复杂),我只想加载它们。那么,如果特定请求不需要40%-ish,那该怎么办呢。

这是一个简单的SQL语句。它没有其他变体(具有不同的WHERE子句)需要进行测试。

总的来说,似乎要测试的代码更少。我没有看到其他替代品的潜在节省。我不能证明额外的复杂性。