通过MySQL架构或PHP检查输入数据?

时间:2015-01-23 10:23:33

标签: php mysql database validation schema

假设我想检查评论是否重复。

我有两个选择:

1)创建对数据库的查询并检查它:     select * from comments where content = $ santized_content和post_id = $ id

2)为comment和post_id创建一个唯一索引并捕获MySQL错误。

对于复杂繁忙的应用来说,尽可能减少对数据库的查询次数非常重要。然而,第一个选项更通常和可读。

您可以将此问题概括为其他情况。

2 个答案:

答案 0 :(得分:0)

我更喜欢2号,

  1. 您的PHP脚本将减少代码。
  2. 只要评论重复,它就会自动检查。
  3. 然后这是UNIQUE的功能。

答案 1 :(得分:0)

MySQL肯定比PHP快。我总是更喜欢使用失败的INSERT或REPLACE来对付合适的密钥而不是检查PHP。

唯一的例外可能是你的密钥变得非常复杂,显然会在MySQL上针对该表运行的所有查询产生开销。然而,对于一个过于复杂而不值得做的问题,没有一个通用的答案。这主要是现实生活测试的问题。