我对数据库优化/内存管理知之甚少。
我有一个看起来像这样的查询:
SELECT Value
FROM ValueTable
WHERE SomeConstraint > 4
我需要从这个查询中获取结果,以及从这个查询中获得一个额外的 WHERE 子句的结果。这两种方法哪个更好?
1) 将该查询的结果选择到一个变量中。然后有两个额外的查询
SELECT COUNT(DISTINCT(VALUES))
FROM @SavedQuery
SELECT COUNT(DISTINCT(VALUES))
FROM @SavedQuery
WHERE otherConstraintColumn < 30
2)
SELECT COUNT(DISTINCT(Value))
FROM ValueTable
WHERE SomeConstraint > 4
SELECT COUNT(DISTINCT(Value))
FROM ValueTable
WHERE SomeConstraint > 4
AND otherConstraintColumn < 30
这可能是用 LINQ 编写的,所以这可能是我们存储查询结果的方式。