Skip to content

Firebird 5 wrong plan #8775

@EPluribusUnum

Description

@EPluribusUnum

Hi *!

I can send the database on request.

SELECT 1
FROM ktrt rt
    JOIN ktbt bt ON bt.ktrt_id = rt.id
    JOIN ktpu kp ON kp.ktbt_id = bt.id
    LEFT OUTER JOIN pu_btet_helyesbitett pt ON pt.id = kp.pu_btet_id
    LEFT OUTER JOIN pu_biz pb ON pb.id = pt.pbiz_id
    LEFT OUTER JOIN ktmert_valtoszam vsz ON vsz.ktfj_id = pt.termek_id AND
          vsz.mert_id_rol = pt.mert_id AND
          vsz.mert_id_re = rt.mert_id
    LEFT OUTER JOIN pu_biz pbh ON pbh.id = pt.h_pbiz_id
WHERE rt.id = 6 AND
      pb.pbizkapcs = 'N'

FB30 and FB40 : OK

PLAN (PT PBH INDEX (PU_BIZ_PK))
PLAN JOIN (JOIN (JOIN (JOIN (JOIN (KP NATURAL, BT INDEX (KTBT_PK), RT INDEX (PK_KTRT)), JOIN (JOIN (JOIN (PT PTO INDEX (PU_BTET_PK), PT BK INDEX (PU_BIZKAPCS_PBIZ_ID)), PT PTH INDEX (PU_BTET_PK)), PT PTU INDEX (PU_BTET_UK))), PB INDEX (PU_BIZ_PK)), VSZ INDEX (KTMERT_VALTOSZAM_UK1)), PBH INDEX (PU_BIZ_PK))

Enchanced Info:
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|          Table Name           |  Records  |  Indexed  | Non-Indexed | Updates | Deletes | Inserts | Backouts |  Purges  | Expunges |
|                               |   Total   |   reads   |    reads    |         |         |         |          |          |          |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|KTBT                           |         0 |         1 |           0 |       0 |       0 |       0 |        0 |        0 |        0 |
|KTPU                           |         0 |         0 |           1 |       0 |       0 |       0 |        0 |        0 |        0 |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+

FB50: wrong (SubQueryConversion has no effect)

PLAN (PT PBH INDEX (PU_BIZ_PK))
PLAN JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (JOIN (PT PTO NATURAL, PT BK INDEX (PU_BIZKAPCS_PBIZ_ID)), PT PTH INDEX (PU_BTET_PK)), PT PTU INDEX (PU_BTET_UK)), PB INDEX (PU_BIZ_PK), KP INDEX (KTPU_FK2)), BT INDEX (KTBT_PK)), RT INDEX (PK_KTRT)), VSZ INDEX (KTMERT_VALTOSZAM_UK1)), PBH INDEX (PU_BIZ_PK))

+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|          Table Name           |  Records  |  Indexed  | Non-Indexed | Updates | Deletes | Inserts | Backouts |  Purges  | Expunges |
|                               |   Total   |   reads   |    reads    |         |         |         |          |          |          |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|KTBT                           |         0 |         1 |           0 |       0 |       0 |       0 |        0 |        0 |        0 |
|KTPU                           |         0 |         1 |           0 |       0 |       0 |       0 |        0 |        0 |        0 |
|PU_BIZ                         |         0 |       634 |           0 |       0 |       0 |       0 |        0 |        0 |        0 |
|PU_BIZKAPCS                    |         0 |        20 |           0 |       0 |       0 |       0 |        0 |        0 |        0 |
|PU_BTET                        |         0 |        35 |         616 |       0 |       0 |       0 |        0 |        0 |        0 |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions