NULL vs NOT NULL -- Gebruik NOT NULL tenzij je een zakelijke reden hebt voor NULL .
Gebruik InnoDB met relevante PRIMARY KEY op elke tafel. Dat zal waarschijnlijk sneller zijn.
"Index gebruiken", waar het zinvol is, zal sommigen helpen.
product.categoryid = 4871 hoort niet in de ON clausule voor vendorimport; verplaats het naar een WHERE clausule. (Dit zal de zaken niet versnellen.)
Uw zoekopdracht kan niet verder worden geoptimaliseerd -- het moet doe alle JOINs en lever alle rijen.
Maar... Wil je echt 3917 rijen output? Kun je daarmee omgaan? Misschien wilt u er maar een paar en kunt u ze tijdens de SELECT filteren? Dat zou de zaken kunnen versnellen.