只要在TagID和SourceID上建索引,就能很快查到,哪怕是百万级的记录数量。create index ix_table1_TagID_SourceID on table1(TagID asc, SourceID asc)查询优化器会自动利用这个索引,很快就能找到对应的记录。学习一下索引的结构,你就会明白为什么在百万级的记录里也能快速找到对应的记录。 根据你举的例子,还可以在SourceID和TagID上也建立索引。另外,如果中间结果的记录比较多,你可以不用CTE,改用临时表,并在临时表上创建合适的索引,性能会明显提升。