ma infatti, era solo un tentativo
tanto per avere un'idea:
quanti record con ambito=68 in dati_temporanea?
quanti record con ambito=68 in dati?
e poi, sicuro che la query debba riportarti solo
Select
dati_temporanea.ambito
from ...
quando sai già che l'ambito è 68?![]()
4milioni circa nella temporanea e 3 nell'altra
comunque ho deciso di eliminare i dati dalla temporanea, ovviamente controllando che ci siano nella dati, con un ciclo while in php utilizzando l'id
e poi rilanciare la procedura di insert utilizzando lo stesso procedimento
sembra funzionare anche se ci vorrà comunque molto tempo macchina
grazie per la pazienza e la serietà....
ovviamente anche a tutti gli altri
buona giornata
potresti eliminare i dati nella temp con una DELETE...JOIN, quelli che restano sono sicuramente nuovi! a questo punto li inserisci con una INSERT INTO ... SELECT
il tutto da db, senza scomodare php
Hai una versione stra-vecchia di MySQL, così vecchia che non credo neppure di averla mai usata
L'ottimizzatore è molto rudimentale, e non puoi usare una ... where IN qualcosa
un'ultima prova non ti costa molto, anche se non so quale possibilità abbia di funzionare
forse bisogna dare un alias alle 2 select interne, scusa non ho tempo di fare proveCodice PHP:select dati_temporanea.ambito, dati.ambito from
( select dati_temporanea.ambito,
( select dati.ambito from dati where dati.id_tbl_temporanea = dati_temporanea.id )
from dati_temporanea
where dati_temporanea.ambito = 68 )
where dati.ambito Is Null
limit 10000
Ultima modifica di marino51; 09-06-2015 a 20:33