php - 运行 100 个带有一个条件的 WHERE 子句的 SQL 查询,还是一个带有包含 100 个条件的 WHERE 子句的查询更好?

标签 php sql mysql performance

运行 100 个带有一个条件的 WHERE 子句的 SQL 查询更好,还是一个带有一个包含 100 个条件的 WHERE 子句的查询更好?例如,如果我要查看表中是否已存在 100 个用户名,那么循环访问 100 个查询还是执行一次查找 100 个用户名的复杂查询会更好。

最佳答案

我没有做过任何测试,但我更喜欢一个大型查询。对于 100 个查询,您必须连接到数据库、发送查询字符串并处理响应/结果 100 次。对于一个查询,您发送一个(更大的)查询,并得到一个响应。我不知道 100 次上下文切换的确切成本,但它可能不是微不足道的。对于一个大型查询,数据库可能不得不做同样数量的工作。如果您要检查的只是 1 个用户名与 100 个用户名,那么这不是一个非常复杂的查询,它更像是

select *
from users
where username in ('value1',...,'value100');

关于php - 运行 100 个带有一个条件的 WHERE 子句的 SQL 查询,还是一个带有包含 100 个条件的 WHERE 子句的查询更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4687748/

相关文章:

c++ - 为什么 INSERT 和 DELETE 会搞砸 QTableView(Qt、C++、sqlite)?

c# - 在 linq 查询中使用索引作为额外的 id

sql - 修剪包含错误数据的列

python - 如何将字符串日期(YYYY-MM-DD)从 SQL 数据库转换为 python 中的 matplotlib 日期?

php - Silverstripe 管理页面未出现

php - 多个页面上的相同代码,如何创建模板文件并包含在所有页面中?

php - Kohana PHP、ORM 和 MySQL BLOB

php - 在 Web 服务不可用的情况下测试 Web 服务的客户端

mysql - MySQL 存储过程通过 MS Access (VBA) 中的 ADODB 的输出参数在一台计算机上正确,在另一台计算机上随机

php - 通过 jquery 使用 mysql 中的数据更改 opener 文档的值