pingcap/tidb

Loose index scan can be used to speed up DISTINCT upon JOIN

Open

#18,693 opened on Jul 20, 2020

View on GitHub
 (12 comments) (0 reactions) (1 assignee)Go (6,186 forks)batch import
challenge-programhelp wantedsig/executionsig/planner

Repository metrics

Stars
 (40,090 stars)
PR merge metrics
 (Avg merge 14d 4h) (346 merged PRs in 30d)

Description

Description

In issue https://github.com/pingcap/tidb/issues/14460. It proposed a scan method called loose index scan. This method is to scan the index and skip the same value.

In this issue, we describe a scene that is not mentioned in that issue.

Consider query select distinct t2.a from t1, t2 where t1.a=t2.a.

Since we need unique t2.a. So we also don't need t1.a return the same value twice, which means that we can apply a loose index scan on the t1 side.

Score

6600

Mentor

@winoros (Slack ID: Cui Yiding)

#sig-planner

Recommend Skills

  • Golang and Rust

Contributor guide