php - 什么更快? "explode"还是另一列?

标签 php mysql explode

我有一种情况,我需要在我的数据库中存储多个值,但它们大约是。相同的类型,所以现在我不知道将这些值作为 String 存储在 MySQL 的 VARCHAR 字段中是否更快,并用 commas

1,2,3,4,5

然后在我需要的时候把它们炸掉

$values = explode(",", $stringFromDatabase);

$stringFromDatabase 是来自 mysql_query + mysql_fetch_arrayString 并用 一个一个地获取它们$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/

相关文章:

php - 验证输入字符串不超过字数限制

php - preg_match - 只允许一个破折号

php - mySQL 选择下载次数最多的用户

php - 从数组中的文件名中提取基名

php - 如何使用 laravel 从斜杠 (/) explode 并获取最后一个字

php - mysql : left join on variable table

php - 秒更新sql数据的最佳方式

php - 使用 PHP 循环向 MySQL 表添加多列

php - 在 PHP 中存储复选框中的多个 ID 的可行解决方案是什么?

mysql - 快要疯了! MySQL 更新在一个表上不起作用,但在另一张表上工作正常