What indexes have you created on RetailerProductFeatures? In general, there’s no need to specify the index to use in your query.
> On 22 Dec 2022, at 09:53, Айсина Роза Мунеровна <[email protected]> > wrote: > > Hi! > > Thank you for your replies! > > I tried to specify any index except primary key index and explained showed, > that SCAN is used which, I guess, is full table scan: > > explain > SELECT ProductFeatures.product_sku, > ProductFeatures.total_cnt_orders_with_sku, > RetailerProductFeatures.mean_daily_sku_retailer_popularity > FROM ProductFeatures > LEFT JOIN RetailerProductFeatures USE INDEX(PUBLIC."_key_PK_hash") > ON ProductFeatures.product_sku = > RetailerProductFeatures.product_sku > AND RetailerProductFeatures.retailer_id = 142 > WHERE ProductFeatures.product_sku IN (52864, 1582957, 110319, 1477711, 272024) > ; > > SELECT > __Z0.PRODUCT_SKU AS __C0_0, > __Z0.TOTAL_CNT_ORDERS_WITH_SKU AS __C0_1, > __Z1.MEAN_DAILY_SKU_RETAILER_POPULARITY AS __C0_2 > FROM PUBLIC.PRODUCTFEATURES __Z0 > /* PUBLIC."_key_PK": PRODUCT_SKU IN(52864, 1582957, 110319, 1477711, > 272024) */ > /* WHERE __Z0.PRODUCT_SKU IN(52864, 1582957, 110319, 1477711, 272024) > */ > LEFT OUTER JOIN PUBLIC.RETAILERPRODUCTFEATURES __Z1 USE INDEX ("_key_PK_hash") > /* PUBLIC.RETAILERPRODUCTFEATURES.__SCAN_ */ > ON (__Z1.RETAILER_ID = 142) > AND (__Z0.PRODUCT_SKU = __Z1.PRODUCT_SKU) > WHERE __Z0.PRODUCT_SKU IN(52864, 1582957, 110319, 1477711, 272024) > > So I guess there is no way to specify more “fast” index because the main goal > is to speed up our JOIN queries. > > Thanks! > >> On 21 Dec 2022, at 9:06 PM, Николай Ижиков <[email protected]> wrote: >> >> Hello. >> >> It seems, you should replace `HASH_JOIN_IDX` with your actual index name. >> You can find all indexes with `SELECT * FROM SYS.INDEXES` >> >>> 21 дек. 2022 г., в 20:43, Stephen Darlington >>> <[email protected]> написал(а): >>> >>> I don’t think it’s ever been in Ignite. >>> >>>> On 21 Dec 2022, at 16:49, Айсина Роза Мунеровна <[email protected] >>>> <mailto:[email protected]>> wrote: >>>> >>>> Hi Stephen! >>>> >>>> Sorry, I forgot to attach link on doc: >>>> https://ignite.apache.org/docs/2.11.1/SQL/distributed-joins#hash-joins >>>> <https://ignite.apache.org/docs/2.11.1/SQL/distributed-joins#hash-joins> >>>> >>>> We use 2.13.0 Ignite version. >>>> So this feature was deleted from releases after 2.11? :( >>>> >>>>> On 21 Dec 2022, at 7:43 PM, Stephen Darlington >>>>> <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> Внимание: Внешний отправитель! >>>>> Если вы не знаете отправителя - не открывайте вложения, не переходите по >>>>> ссылкам, не пересылайте письмо! >>>>> >>>>> Where did you get that syntax from? I don’t think Ignite supports hash >>>>> joins, though there are other distributions of Ignite that do. >>>>> >>>>>> On 21 Dec 2022, at 16:22, Айсина Роза Мунеровна >>>>>> <[email protected] <mailto:[email protected]>> wrote: >>>>>> >>>>>> Hola again! >>>>>> >>>>>> I have a problem when trying to use Hah Join in SQL API. >>>>>> I am using this doc: >>>>>> >>>>>> What I am doing: >>>>>> >>>>>> query = """ >>>>>> SELECT pf.product_sku, >>>>>> pf.total_cnt_orders_with_sku, >>>>>> rpf.mean_daily_sku_retailer_popularity >>>>>> FROM ProductFeatures AS pf >>>>>> LEFT JOIN RetailerProductFeatures AS rpf >>>>>> USE INDEX(HASH_JOIN_IDX) >>>>>> ON pf.product_sku = rpf.product_sku >>>>>> AND rpf.retailer_id = 142 >>>>>> WHERE pf.product_sku IN (52864, 1582957, 110319, 1477711, 272024) >>>>>> """ >>>>>> >>>>>> data = next( >>>>>> ignite_client.sql( >>>>>> query, >>>>>> distributed_joins=False, >>>>>> enforce_join_order=True, >>>>>> collocated=True, >>>>>> ) >>>>>> ) >>>>>> >>>>>> What I get: >>>>>> Index "HASH_JOIN_IDX" not found >>>>>> >>>>>> >>>>>> So basically it is simple join SQL query that works fine without hash >>>>>> join index. >>>>>> Both tables have affinity key product_sku and this column is part of >>>>>> primary key. >>>>>> >>>>>> When I look at index system tables I see that there is _key_PK_hash >>>>>> index for both tables >>>>>> But I had no luck to specify it - SQL parser can’t find it either. >>>>>> >>>>>> Please help! >>>>>> -- >>>>>> >>>>>> Роза Айсина >>>>>> Старший разработчик ПО >>>>>> СберМаркет | Доставка из любимых магазинов >>>>>> >>>>>> Email: [email protected] <mailto:[email protected]> >>>>>> Mob: >>>>>> Web: sbermarket.ru <https://sbermarket.ru/> >>>>>> App: iOS >>>>>> <https://apps.apple.com/ru/app/%D1%81%D0%B1%D0%B5%D1%80%D0%BC%D0%B0%D1%80%D0%BA%D0%B5%D1%82-%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%BE%D0%B2/id1166642457> >>>>>> и Android >>>>>> <https://play.google.com/store/apps/details?id=ru.instamart&hl=en&gl=ru> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> УВЕДОМЛЕНИЕ О КОНФИДЕНЦИАЛЬНОСТИ: это электронное сообщение и любые >>>>>> документы, приложенные к нему, содержат конфиденциальную информацию. >>>>>> Настоящим уведомляем Вас о том, что, если это сообщение не предназначено >>>>>> Вам, использование, копирование, распространение информации, >>>>>> содержащейся в настоящем сообщении, а также осуществление любых действий >>>>>> на основе этой информации, строго запрещено. Если Вы получили это >>>>>> сообщение по ошибке, пожалуйста, сообщите об этом отправителю по >>>>>> электронной почте и удалите это сообщение. >>>>>> CONFIDENTIALITY NOTICE: This email and any files attached to it are >>>>>> confidential. If you are not the intended recipient you are notified >>>>>> that using, copying, distributing or taking any action in reliance on >>>>>> the contents of this information is strictly prohibited. If you have >>>>>> received this email in error please notify the sender and delete this >>>>>> email. >>>>>> >>>>> >>>> >>>> -- >>>> >>>> Роза Айсина >>>> Старший разработчик ПО >>>> СберМаркет | Доставка из любимых магазинов >>>> >>>> Email: [email protected] <mailto:[email protected]> >>>> Mob: >>>> Web: sbermarket.ru <https://sbermarket.ru/> >>>> App: iOS >>>> <https://apps.apple.com/ru/app/%D1%81%D0%B1%D0%B5%D1%80%D0%BC%D0%B0%D1%80%D0%BA%D0%B5%D1%82-%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%BE%D0%B2/id1166642457> >>>> и Android >>>> <https://play.google.com/store/apps/details?id=ru.instamart&hl=en&gl=ru> >>>> >>>> >>>> >>>> >>>> >>>> УВЕДОМЛЕНИЕ О КОНФИДЕНЦИАЛЬНОСТИ: это электронное сообщение и любые >>>> документы, приложенные к нему, содержат конфиденциальную информацию. >>>> Настоящим уведомляем Вас о том, что, если это сообщение не предназначено >>>> Вам, использование, копирование, распространение информации, содержащейся >>>> в настоящем сообщении, а также осуществление любых действий на основе этой >>>> информации, строго запрещено. Если Вы получили это сообщение по ошибке, >>>> пожалуйста, сообщите об этом отправителю по электронной почте и удалите >>>> это сообщение. >>>> CONFIDENTIALITY NOTICE: This email and any files attached to it are >>>> confidential. If you are not the intended recipient you are notified that >>>> using, copying, distributing or taking any action in reliance on the >>>> contents of this information is strictly prohibited. If you have received >>>> this email in error please notify the sender and delete this email. >>>> >>> >> > > -- > > Роза Айсина > Старший разработчик ПО > СберМаркет | Доставка из любимых магазинов > > Email: [email protected] <mailto:[email protected]> > Mob: > Web: sbermarket.ru <https://sbermarket.ru/> > App: iOS > <https://apps.apple.com/ru/app/%D1%81%D0%B1%D0%B5%D1%80%D0%BC%D0%B0%D1%80%D0%BA%D0%B5%D1%82-%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%BE%D0%B2/id1166642457> > и Android > <https://play.google.com/store/apps/details?id=ru.instamart&hl=en&gl=ru> > > > > > > УВЕДОМЛЕНИЕ О КОНФИДЕНЦИАЛЬНОСТИ: это электронное сообщение и любые > документы, приложенные к нему, содержат конфиденциальную информацию. > Настоящим уведомляем Вас о том, что, если это сообщение не предназначено Вам, > использование, копирование, распространение информации, содержащейся в > настоящем сообщении, а также осуществление любых действий на основе этой > информации, строго запрещено. Если Вы получили это сообщение по ошибке, > пожалуйста, сообщите об этом отправителю по электронной почте и удалите это > сообщение. > CONFIDENTIALITY NOTICE: This email and any files attached to it are > confidential. If you are not the intended recipient you are notified that > using, copying, distributing or taking any action in reliance on the contents > of this information is strictly prohibited. If you have received this email > in error please notify the sender and delete this email. >
