【发布时间】:2023-03-07 23:18:01
【问题描述】:
这个问题是双刃剑。在测试系统上,此查询会在大约 7 分钟内返回。在我的报告系统上,它具有相同的索引以及附加的列存储索引以涵盖其他问题报告,它根本不想返回,因为它选择使用列存储索引。
1) 我可以使用 CTE 或其他更简洁的方法来完成此 TSQL 吗?如果不更改逻辑,我似乎无法提高性能。
SELECT Count(BookingId)
from Booking_tbl b1
WHERE email IN (Select Email From Booking_tbl b2 WHERE DateDiff(day, b2.BookedDate , b1.BookedDate) > 1)
2) 我可以使用特定索引停止引擎吗?我知道我可以将其设置为 INDEX(0) 以不使用索引或命名特定索引,但我可以说“对于此查询,不要使用此特定索引!”
把它放在 SO 或 DBA SE 上被撕裂了
基本上我需要统计重复预订的数量才能得到一个百分比。
谢谢
【问题讨论】:
标签: tsql indexing sql-server-2012 common-table-expression