Joins, reporting bug in search strategy.
Lukasz Misztal <[email protected]> Mon, 06 Aug 2007 14:05:30 +0200
| Newsgroups | gmane.comp.db.maxdb |
|---|---|
| Message-ID | <[email protected]> |
Hi,
this is prabably bug in search strategy plan.
Is it enough to report bug?
And second question,
is any simple way to force 'table scan' on query (avoid indexes)?
Best regards,
Lukasz
---------------------(Base query)-----------------
select * from "DokumentLokalu"
left join "TowarFizycznie" on
"DokumentLokalu"."DKL_ID"=3D"TowarFizycznie"."TFZ_IDDokumentLokalu"
left join "MagazynTowar" on
"TowarFizycznie"."TFZ_IDTowar"=3D"MagazynTowar".MT_ID
left join "Kwota" on "TowarFizycznie".TFZ_ID=3D"Kwota"."KW_IDTowarFizyc=
znie"
left join "DokumentLokaluTowarDJ" on
"TowarFizycznie"."TFZ_ID"=3D"DokumentLokaluTowarDJ"."DTJ_IDDokumentLokalu=
Towar"
execution plan:
MAXIPROD DokumentLokalu TABLE SCAN 1=09
MAXIPROD TowarFizycznie TFZ_IX_IDDokumentlokalu JOIN VIA INDEXED COLUMN
1=09
TFZ_IDDokumentLokalu (USED INDEX COLUMN) =09
MAXIPROD MagazynTowar MT_ID JOIN VIA KEY COLUMN 5=09
MAXIPROD Kwota KW_IX_IDTowarFizycznie JOIN VIA INDEXED COLUMN 1 =
KW_IDTowarFizycznie (USED INDEX COLUMN) =09
MAXIPROD DokumentLokaluTowarDJ JOIN VIA KEY RANGE 1=09
TABLE TEMPORARY SORTED =09
DTJ_IDDokumentLokaluTowar (USED SORT COLUMN) =09
RESULT IS COPIED , COSTVALUE IS 11=09
---------------------(condition, wrong result)-----------------
Base query+
where
"MagazynTowar"."MT_IDJednostka"=3D"DokumentLokaluTowarDJ"."DTJ_IDJednostk=
a"
-----------------------------
search strategy:
MAXIPROD MagazynTowar TABLE SCAN 5=09
MAXIPROD DokumentLokalu TABLE SCAN 1=09
MAXIPROD DokumentLokaluTowarDJ JOIN VIA KEY RANGE 1=09
TABLE TEMPORARY SORTED =09
DTJ_IDJednostka (USED SORT COLUMN) =09
MAXIPROD TowarFizycznie TFZ_ID JOIN VIA KEY COLUMN 1=09
MAXIPROD Kwota KW_IX_IDTowarFizycznie JOIN VIA INDEXED COLUMN 1 =
KW_IDTowarFizycznie (USED INDEX COLUMN) =09
RESULT IS COPIED , COSTVALUE IS 923=09
--------------------(second wrong result)----------------------
Base query+
where
"MagazynTowar"."MT_IDJednostka"+1=3D"DokumentLokaluTowarDJ"."DTJ_IDJednos=
tka"+1
-----------------------------
search strategy:
MAXIPROD MagazynTowar TABLE SCAN 5=09
MAXIPROD DokumentLokalu TABLE SCAN 1=09
MAXIPROD DokumentLokaluTowarDJ JOIN VIA KEY RANGE 1=09
TABLE TEMPORARY SORTED =09
????????=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=
=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=
=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0(USE=
D SORT COLUMN) =09
DTJ_IDJednostka (USED SORT COLUMN) =09
MAXIPROD TowarFizycznie TFZ_ID JOIN VIA KEY COLUMN 1=09
MAXIPROD Kwota KW_IX_IDTowarFizycznie JOIN VIA INDEXED COLUMN 1 =
KW_IDTowarFizycznie (USED INDEX COLUMN) =09
RESULT IS COPIED , COSTVALUE IS 923=09
------------------------------(Correct result)----------------------
Base query+
where
"MagazynTowar"."MT_IDJednostka"-"DokumentLokaluTowarDJ"."DTJ_IDJednostka"=
=3D0
-----------------------------
search strategy:
MAXIPROD DokumentLokalu TABLE SCAN 1=09
MAXIPROD TowarFizycznie TFZ_IX_IDDokumentlokalu JOIN VIA INDEXED COLUMN
1=09
TFZ_IDDokumentLokalu (USED INDEX COLUMN) =09
MAXIPROD MagazynTowar MT_ID JOIN VIA KEY COLUMN 5=09
MAXIPROD Kwota KW_IX_IDTowarFizycznie JOIN VIA INDEXED COLUMN 1 =
KW_IDTowarFizycznie (USED INDEX COLUMN) =09
MAXIPROD DokumentLokaluTowarDJ JOIN VIA KEY RANGE 1=09
TABLE TEMPORARY SORTED =09
DTJ_IDDokumentLokaluTowar (USED SORT COLUMN) =09
RESULT IS COPIED , COSTVALUE IS 11=09
--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe: http://lists.mysql.com/[email protected]