Non posso entrare nel merito ma...

Ha messo i valori di 30 tabelle in una che ha solo 3 campi di cui immagino al chiave sia la prima colonna (codice)
Questa tabella contiene appena 130 record e mettendola in join ci mette 30 secondi?
ma questo perché devi mettere la query in join anche con altre per avere il codice?
Prima come facevi?