假设我想检查评论是否重复。
我有两个选择:
1)创建对数据库的查询并检查它: select * from comments where content = $ santized_content和post_id = $ id
2)为comment和post_id创建一个唯一索引并捕获MySQL错误。
对于复杂繁忙的应用来说,尽可能减少对数据库的查询次数非常重要。然而,第一个选项更通常和可读。
您可以将此问题概括为其他情况。
答案 0 :(得分:0)
我更喜欢2号,
然后这是UNIQUE的功能。
答案 1 :(得分:0)
MySQL肯定比PHP快。我总是更喜欢使用失败的INSERT或REPLACE来对付合适的密钥而不是检查PHP。
唯一的例外可能是你的密钥变得非常复杂,显然会在MySQL上针对该表运行的所有查询产生开销。然而,对于一个过于复杂而不值得做的问题,没有一个通用的答案。这主要是现实生活测试的问题。