pingcap/tidb

show `CARTESIAN JOIN` inappropriately in some cases

Open

#20 261 ouverte le 28 sept. 2020

Voir sur GitHub
 (1 commentaire) (0 réactions) (2 assignés)Go (6 186 forks)batch import
good first issuehelp wantedsig/plannertype/enhancement

Métriques du dépôt

Stars
 (40 090 stars)
Métriques de merge PR
 (Merge moyen 14j 4h) (346 PRs mergées en 30 j)

Description

Development Task

mysql> desc select /*+ tidb_hj(t1) */ * from t t1 inner join t t2 where t1.a=t2.a and t1.a=1;
+---------------------------+---------+------+---------------+----------------------+
| id                        | estRows | task | access object | operator info        |
+---------------------------+---------+------+---------------+----------------------+
| HashJoin_7                | 1.00    | root |               | CARTESIAN inner join |
| ├─Point_Get_10(Build)     | 1.00    | root | table:t       | handle:1             |
| └─Point_Get_9(Probe)      | 1.00    | root | table:t       | handle:1             |
+---------------------------+---------+------+---------------+----------------------+
3 rows in set (0.00 sec)

In the case above, it's not a cartesian join, but there is a CARTESIAN in the result.

Guide contributeur