Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 29 su 29
  1. #21
    Quote Originariamente inviata da optime Visualizza il messaggio
    credo che tu ti debba rassegnare alla lentezza; infatti la select leggerà tutti i dati dalle due tabelle, e solo poi cercherà quelli che non corrispondono.

    puoi provare a velocizzare così

    Select
    dati_temporanea
    .ambito
    From
    dati_temporanea Left Join
    dati On dati_temporanea
    .id =
    dati.id_tbl_temporanea

    AND
    dati_temporanea.ambito = 68

    WHERE

    dati.ambito Is Null
    Limit 10000
    grazie ma non cambia nulla

  2. #22
    ma infatti, era solo un tentativo

  3. #23
    tanto per avere un'idea:
    quanti record con ambito=68 in dati_temporanea?
    quanti record con ambito=68 in dati?

  4. #24
    e poi, sicuro che la query debba riportarti solo

    Select
    dati_temporanea
    .ambito
    from ...

    quando sai già che l'ambito è 68?

  5. #25
    Quote Originariamente inviata da optime Visualizza il messaggio
    e poi, sicuro che la query debba riportarti solo

    Select
    dati_temporanea
    .ambito
    from ...

    quando sai già che l'ambito è 68?
    mi serve solo per sapere se ci sono ancora record da elaborare, potrei mettere id ma non cambierebbe nulla

  6. #26
    Quote Originariamente inviata da optime Visualizza il messaggio
    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

  7. #27
    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

  8. #28
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    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

  9. #29
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    un'ultima prova non ti costa molto, anche se non so quale possibilità abbia di funzionare
    Codice PHP:
    select dati_temporanea.ambitodati.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 
    forse bisogna dare un alias alle 2 select interne, scusa non ho tempo di fare prove
    Ultima modifica di marino51; 09-06-2015 a 20:33

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.