存储在PHP数组或mySQL中

存储在PHP数组或mySQL中,php,mysql,Php,Mysql,我在mySQL表中有一列的值为0或1,它们分别表示“出租”和“出售”。问题是,我应该将这些值的解释放在mySQL表中并进行内部连接,还是将它们放在PHP数组中?。哪一个在速度和维护方面更有效 更新: 我问的是哪一个更好: 1) 将值的含义存储在DB表中并进行内部连接 2) 在PHP数组中存储值的含义,并在检索数据后用含义替换值 在速度和维护方面 如果希望将PHP数组添加到mysql中,则将其转换为json并添加json值。同时获取并将其重新转换为数组。为此,请使用以下功能: json_encod

我在mySQL表中有一列的值为0或1,它们分别表示“出租”和“出售”。问题是,我应该将这些值的解释放在mySQL表中并进行
内部连接
,还是将它们放在PHP数组中?。哪一个在速度和维护方面更有效

更新: 我问的是哪一个更好:

1) 将值的含义存储在DB表中并进行内部连接

2) 在PHP数组中存储值的含义,并在检索数据后用含义替换值


在速度和维护方面

如果希望将PHP数组添加到mysql中,则将其转换为json并添加json值。同时获取并将其重新转换为数组。为此,请使用以下功能:

json_encode($array);
json_decode($json);

正确的数据库设计几乎在所有情况下都是安全的。在繁重的数据仓库应用程序中,即使对数据进行了分区,也无法对价值30 TB的数据进行实时计算,而且只能针对特定的、经过充分分析的情况,故意对数据库进行非规范化

一旦停止将原始值存储到数据库中,您就无法再使用DBMS提供的最基本功能:

  • 引用完整性强制
  • 索引
  • 搜查

您正在将所有这些职责从专门为处理数据而创建的本机应用程序转移到一种解释性通用语言中,这种语言甚至无法直接访问data vault。

您使用0或1来表示这一点有什么特殊原因吗?是为了节省内存吗?为什么不将其存储为varchar RENT或SALE?或者使用带有“RENT”和“SALE”值的ENUM?我不想存储实际单词,所以我有机会在需要时更改它们。“rent”和“sale”只是示例。@Sami,正如您从答案中看到的,它取决于您的数据量、关系类型、速度,可能是在硬php代码中实现的,当然是在数据库中的维护。这取决于你想遵循什么标准。。。好。。这取决于以下几点:-)我所说的数据量很小,就像上面的例子一样。我想,与其使用
内部连接来减慢查询速度,不如使用PHP数组来实现这类功能。感谢您的澄清。您非常担心的内部连接减速可能在毫秒范围内。我确信PHP数组操作比这要慢。