【问题标题】:Check input data by MySQL schema or PHP?通过 MySQL 模式或 PHP 检查输入数据?
【发布时间】:2015-03-22 08:42:39
【问题描述】:

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

我有两个选择:

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

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

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

您可以将此问题推广到其他情况。

【问题讨论】:

    标签: php mysql database validation schema


    【解决方案1】:

    MySQL 绝对比 PHP 快。我总是更喜欢对合适的键使用失败的 INSERT 或 REPLACE,而不是检查 PHP。

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

    【讨论】:

      【解决方案2】:

      我更喜欢2号,

      1. 您的 PHP 脚本将减少代码。
      2. 评论是否重复时会自动检查。

      那么这就是UNIQUE的功能。

      【讨论】:

        猜你喜欢
        • 2011-08-25
        • 2017-09-30
        • 2020-08-30
        • 2017-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-11
        相关资源
        最近更新 更多