数据库查询优化问题

标签 database query-optimization

问题假设:

  1. 数据库无关
  2. 由于 X 和 Y 的值,两个查询都将只返回一行

问题:

哪个查询更快,更好的做法是什么?:

SELECT * FROM my_table WHERE X = 'some value' AND Y = 'other value';

或者

SELECT * FROM my_table WHERE X = 'some value';

基本上,将额外的不需要的参数传递到查询中对您有利还是不利(在性能方面),如果答案是“有利”,那么这是“好的”做法吗?

最佳答案

显然,具有更多参数的查询需要做更多的工作,但我认为在大多数情况下,您会发现差异是如此微不足道,以至于无法讨论。

最佳做法是以解决您的业务问题的方式编写查询,并让筹码落在可能的地方。如果您显然知道某个参数是多余的,那么就不要使用它,除非是为了简化您的代码。但是,由于数据的当前状态,我不会花大量时间去寻找参数冗余的情况。

关于数据库查询优化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4081645/

相关文章:

linux - 使用 $out 保存聚合结果,为什么这不起作用?

MySQL - 返回每个数据组的最后一条记录

mysql - 在 SQL 中有效地加入间隔范围

database - 在redis中存储和查询时间间隔数据

sql - 经典 SQL Server 操作

mysql - 查询另一个表中列出的日期

MySQL:优化的跨表连接

mysql不在简单连接上使用索引

node.js - 通过 Node JS 插入时,Mongo shell 不显示集合(命令 show collections)

mysql - 在 SQL 中获取关于日期的平均值