Ciao a tutti,
Ho un problema: ho una tabella di circa 40.000 righe, con 6 campi... se faccio una select o una qualsiasi query anche update,etc.. il tempo impiegato è di circa 0.35 secondi.
Mentre, se la tabella è vuota, la query impiega 0.015s.
Adesso, questo è normale ovviamente... però il problema è che io eseguo dentro un while che scorre anche (1000,3000 record) delle query su questa tabella, facendo due conti si arriva a tempi di esecuzione che superano facilmente i 10 minuti!
E se la tabella continua a crescere la situazione peggiora. Devo sistemare questa situazione e ho pensato di usare delle tabelle temporanee (o delle visite??).
Ad esempio, visto che nella mia pagina che opera su questa tabella, opera in realtà sempre su un sottogroppo di questa tabella (i record aventi idutente=xxxx), ho pensato di creare una tabella temporanea che raccoglie i record su cui opero.
Nascono due problemi:
1. (risolvibile) devo aggiornare alcuni record di questa tabella temporanea e riportare le modifiche nella tabella originale. Le modifiche devo farle sulla tabella temporanea perchè richiedono meno tempo e alla fine del processo devo svuotare la tabella temporanea nell'orginale.
2. durante il processo di modifica dei record della tabella temporanea ho la necessità di leggere questa tabella anche da altre sessioni. Su MySQL non ho trovato riferimenti a tabelle temporanee globali
Adesso, entrambi i problemi si potrebbero risolvere lasciando perdere le tabelle temporanee...ma come??
Mi chiedo: non esiste un metodo che mi permetta di lavorare in piena libertà su un sottogruppo di record di una tabella X con le stesse prestazioni delle tabelle temporanee e che allo stesso tempo mi riporti le modifiche nella tabella originale al volo?
Qual è la soluzione migliore? help
Grazie a tutti



Rispondi quotando
