如果我们在Where
子句中包含更多条件,那么有人可以回答如何影响SQL的性能吗?
例如,我有一个表TABLE1
,其中包含15列Column1
,Column2
,...,Column15
。在这15列中,column1
(主键)和column7
被编入索引。
现在,如果我想从我的应用程序(hibernate ORM)中检索基于COLUMN1
,COLUMN7
和COLUMN10
的数据,那么查询
SELECT *
FROM TABLE1
WHERE COLUMN1 = ? AND COLUMN7 = ? AND COLUMN10 = ?
或
SELECT *
FROM TABLE1
WHERE COLUMN1 = ? AND COLUMN7 = ?
并过滤应用程序端COLUMN10
的结果?
在WHERE
子句中包含更多过滤器可以提供更好的性能,还是对SQL查询的性能有害?
答案 0 :(得分:2)
您应该在WHERE
子句中添加更多条件。让数据库完成工作。这有两个很好的理由: