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
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.