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 (40,090 stars) (6,186 forks)batch import
challenge-programhelp wantedsig/executionsig/planner

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