我有一种情况,我需要在我的数据库中存储多个值,但它们大约是。相同的类型,所以现在我不知道将这些值作为 String 存储在 MySQL 的 VARCHAR 字段中是否更快,并用 commas
1,2,3,4,5
然后在我需要的时候把它们炸掉
$values = explode(",", $stringFromDatabase);
$stringFromDatabase 是来自 mysql_query + mysql_fetch_array 的 String 并用 一个一个地获取它们$values[0]、$values[1] 等等
或
为每个变量添加另一列(最多 7 行),然后为特定行调用数据库,并使用标准 mysql_query + mysql_fetch_array 程序按列单独获取它们?
那么,是用逗号连接的一列还是多列?重要的是要注意,我总是需要它们(当然一个接一个)并且排序并不重要 - 所以我认为第一个选项 - 是更好、更快的那个?
最佳答案
最好有多个列。它是数据库规范化的一部分,没有多值列。
在您的情况下 - 如果您需要从多值 1,2,3,4,5
中选择“3
”怎么办?这将是非常具有挑战性的。但是对于多列,我可以轻松地执行 SELECT * FROM Table Where Column3 = 3
。
关于php - 什么更快? "explode"还是另一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5363804/