Lucky, You can find information about distributed joins tuning here: https://apacheignite-sql.readme.io/docs/distributed-joins It contains explanation of how distributed joins work, and why it's important to keep data collocated.
Denis ср, 6 дек. 2017 г. в 13:06, Denis Mekhanikov <[email protected]>: > Looks like you ran this query on a cluster with more than one node, so you > get performance drop because of distributed joins. > > Let's tune performance on a single node first. You can expect queries with > joins to operate fast only if data is collocated. > Otherwise latency will suffer from network communication. > > So, what is performance and plan of query execution on a single node? > > Denis > > ср, 6 дек. 2017 г. в 12:06, Lucky <[email protected]>: > >> explain : >> >> >> SELECT >> T0__Z0.FID AS __C0_0, >> T0__Z0.FCUSTOMERGROUPSTANDARDID AS __C0_1, >> T0__Z0.FCUSTOMERGROUPID AS __C0_2, >> T0__Z0.FCUSTOMERID AS __C0_3, >> T0__Z0.FCUSTOMERGROUPFULLNAME AS __C0_4 >> FROM "csspGroupStandardCache".CSSPGROUPSTANDARD T1__Z1 >> /* "csspGroupStandardCache".CSSPGROUPSTANDARD_FID_IDX: FID = >> '00000000-0000-0000-0000-000000000002BC122A7F' */ >> /* WHERE T1__Z1.FID = '00000000-0000-0000-0000-000000000002BC122A7F' >> */ >> INNER JOIN "customerGroupDetailCache".CUSTOMERGROUPDETAIL T0__Z0 >> /* batched:broadcast >> "customerGroupDetailCache".CUSTOMERGROUPDETAIL_FCUSTOMERGROUPSTANDARDID_IDX: >> FCUSTOMERGROUPSTANDARDID = T1__Z1.FID */ >> ON 1=1 >> /* WHERE T0__Z0.FCUSTOMERGROUPSTANDARDID = T1__Z1.FID >> */ >> INNER JOIN "customerCache".CUSTOMERIGNITEINFO T3__Z2 >> /* batched:broadcast "customerCache".CUSTOMERIGNITEINFO_FID_IDX: FID >> = '3NsAAABI7bq/DAQO' >> AND FID = T0__Z0.FCUSTOMERID >> */ >> ON 1=1 >> WHERE ((T3__Z2.FID = '3NsAAABI7bq/DAQO') >> AND (T1__Z1.FID = '00000000-0000-0000-0000-000000000002BC122A7F')) >> AND ((T0__Z0.FCUSTOMERID = T3__Z2.FID) >> AND (T0__Z0.FCUSTOMERGROUPSTANDARDID = T1__Z1.FID)) >> >> >> >> >
