谁能回答如果我们在Where子句中包含更多的条件会对SQL的性能产生怎样的影响?
例如,我有一个包含15列Column1、Column2、...、Column15的表TABLE1。在这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的结果?
在SQL子句中包含更多的过滤器可以提供更好的性能,还是对WHERE查询的性能不利?
发布于 2017-02-15 03:01:03
您应该在WHERE子句中添加更多条件。让数据库来完成这项工作。这里有两个很好的理由:
https://stackoverflow.com/questions/42234144
复制相似问题