通过 MySQL 架构或 PHP 检查输入数据?
Check input data by MySQL schema or PHP?
假设我想检查一条评论是否重复。
我有两个选择:
1) 创建对数据库的查询并检查它:
select * 来自 content=$santized_content 和 post_id=$id
的评论
2) 为注释和 post_id 创建唯一索引并捕获 MySQL 错误。
对于我复杂而繁忙的应用程序来说,尽可能减少对数据库的查询次数很重要。然而,第一个选项更常见和可读。
您可以将此问题推广到其他情况。
我更喜欢数字 2,
- 您的 PHP 脚本将减少代码。
- 评论重复与否自动检测
那么这就是UNIQUE的功能
MySQL绝对比PHP快。我总是更喜欢对 suitable 键使用失败的 INSERT 或 REPLACE 而不是签入 PHP。
唯一的例外可能是您的密钥变得非常复杂,这显然会在 MySQL 上对所有查询 运行 针对 table 产生开销。然而,对于什么太复杂而不值得做这个问题,没有一个放之四海而皆准的答案。这主要是现实生活测试的问题。
假设我想检查一条评论是否重复。
我有两个选择:
1) 创建对数据库的查询并检查它: select * 来自 content=$santized_content 和 post_id=$id
的评论2) 为注释和 post_id 创建唯一索引并捕获 MySQL 错误。
对于我复杂而繁忙的应用程序来说,尽可能减少对数据库的查询次数很重要。然而,第一个选项更常见和可读。
您可以将此问题推广到其他情况。
我更喜欢数字 2,
- 您的 PHP 脚本将减少代码。
- 评论重复与否自动检测
那么这就是UNIQUE的功能
MySQL绝对比PHP快。我总是更喜欢对 suitable 键使用失败的 INSERT 或 REPLACE 而不是签入 PHP。
唯一的例外可能是您的密钥变得非常复杂,这显然会在 MySQL 上对所有查询 运行 针对 table 产生开销。然而,对于什么太复杂而不值得做这个问题,没有一个放之四海而皆准的答案。这主要是现实生活测试的问题。