【发布时间】:2011-08-10 17:35:35
【问题描述】:
我有一个包含分组依据的 SQL 视图。我正在尝试使用点赞从视图中进行选择。我选择的列已编入索引,但 SQL 坚持创建一个包含表中所有行的临时表,然后根据 where 条件进行过滤。 (慢)如何让它先过滤?
示例:
查看定义:
SELECT ListCode, SUM(CASE
WHEN ListStatus = 'A' THEN 1
ELSE 0
END) Active
FROM ListParticipation
GROUP BY ListCode
选择:
SELECT *
FROM ListParticipationView
WHERE ListCode like '%ReallyCoolList%'
顺便说一句,如果我使用没有开头通配符的类似条件,SQL 计划确实会显示在组汇总之前发生的过滤。
【问题讨论】:
-
我最好的猜测是,您真正的解决方案是将列表传递给
LIKE语句,因为我假设它是Many-to-Many Relationship。
标签: sql view group-by sql-like