php - 检查 mySQL 表中是否存在数组项的最快方法

标签 php mysql performance foreach

用户编写一系列标签(分隔)并发布表单。
我构建了一个包含标签的数组,并使用 array_unique() php 函数删除了重复项。

我正在考虑:

  • 使用 foreach($newarray as $item) { ... } 遍历数组
  • 检查每个 $item 是否存在于 tags mySQL 表中
  • 如果item不存在,插入tags表

是否有更快更优化的方式来做到这一点?

最佳答案

我希望人们可以对这种方法发表评论。直觉告诉我这可能不是处理事情的最佳方式,但你们怎么看?

无需额外调用数据库来查找重复项,只需在数据库中添加一个唯一约束,这样标签就不会被插入两次。然后在添加新标签时使用 INSERT IGNORE...。此方法将忽略重复引起的错误,同时插入新项。

关于php - 检查 mySQL 表中是否存在数组项的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2625643/

相关文章:

php - NetBeans 中的 Sublime Text 3 提示

MySQL - 根据另外两个日期时间列自动更新总小时数差异

mysql - 如何在 LOAD 时在 MySQL 中分配单个 "created_at"值?

python - 高效交换numpy数组中的元素

java接口(interface)方法内联

javascript - 无法在选择选项中显示查询结果

php - PHP 可以判断服务器操作系统是否为 64 位吗?

ruby-on-rails - 在 Rails 中执行 BDD/TDD 的最快方法?

php - Bootstrap Affix-bottom 不向上滚动

mysql - 从 MySQL 中的多个表中获取匹配项