So I've run some tests on your SQL server.
The query
SELECT DISTINCT b.*
FROM jos_hikashop_product_category AS a
LEFT JOIN jos_hikashop_product AS b
ON a.product_id=b.product_id
WHERE b.product_published=1
AND b.product_type='main'
AND a.category_id IN (42)
AND (b.product_access = 'all' OR b.product_access LIKE '%,1,%')
ORDER BY ordering ASC
LIMIT 0,100
takes 3 seconds when you run it directly on phpmyadmin.
The issue comes from the ordering.
There are 81936 products in the category with the id 42.
So when your MySQL server wants to order the entries, it has to order all of these elements and then send you the 100 first elements. But in its memory, it has to generate a temporary table of all these 81K elements.
HikaShop has been made to work with a lot of products and a lot of categories, but we never expected that someone would have so many products in each idividual category.
Removing the JOIN is not possible as otherwise it would display all the products, not just the products of that category. And removing the query is not possible either as it is the query loading the products data, so it is necessary. And that's the query taking most of the time on the page, so that's where the problem is.
The simplest here will be to remove the ordering. As the products have apparently already been input in the correct order, it should produce the same result.
To do that, remove the line:
$order = ' ORDER BY '.$pageInfo->filter->order->value.' '.$pageInfo->filter->order->dir;
in the file components/com_hikashop/views/product/view.html.php
That's however a change we can't add in HikaShop. Having no ordering on the products listings would be a problem for a lot of our customers. The problem here is not really the way HikaShop is done, but the product/category structure.
I would recommend to not have more than a few thousands of products in the same category.
There might be some other issues elsewhere but that modification should already help a lot.
It is not false advertising that HikaShop can work with hundred of thousands of products. You can see that the pages display, albeit slow, even though the product/category strcuture is far from optimal.
You have to understand that here, the problem is not in HikaShop but in the huge amount of products you have, the category structure, and the optmization of the MySQL server (caching the queries, putting the tables in the RAM, etc). The query itself in HikaShop cannot be simplified as it does what it should do.