I have a requirement in which there are eight tables views to select data from as per given query, as per my knowledge, we can not create indexes over views (can be done on the base tables), is there an alternative to improve the performance of below given query which time outs otherwise (due to nature of query, which creates cartesan product of records).
Need to select a single field from A and another single field from H which are related as given below:

Here, C has B and B has A reference, Also, C has D reference, D has E, E has F, F has G and Finally G has H reference.
Therefore, based on this indirect relationship the query we have created is:
select a.serviceCode, h.networkAffiliation from A a, B b, C c, D d, E e, F f, G g, H h
where
a.guid=b.externalSystemCodes and
b.guid=c.identityCode and
c.product=d.guid and
d.productChannelLineupGroups=e.guid and
e.channelLineups=f.guid and
f.station=g.guid and
g.electronicProgramGuide=h.guid
Can anyone please suggest?