Salve a tutti,
Sto lavorando ad uno script php che dovrà aggiornare un database di prodotti.
Così com'é adesso, a processare un file contenente una serie di prodotti mi impiega circa 37 secondi.
In produzione dovrà processarne intorno al centinaio o anche più, quindi si tratta di un tempo inaccettabile.
Ci sono due task, compiuti da questo file, a cui imputerei lo spreco di tempo.
Si tratta dell'inserimento delle categorie e del collegamento dei prodotti alle categorie.
Mi spiego: la struttura del db è, semplificando, questa:
prodotti(id, dati prodotto...)
categorie(id, nome)
collegamenti(prodotto, categoria)
E' chiaro che ogni prodotto può appartenere a diverse categorie.
Ora, due task vengono effettuati da php con l'ausilio di più query:
- L'inserimento di una categoria nel database: lo script controlla con una SELECT se la categoria esiste già, e se non esiste la crea con una INSERT.
Come posso far si che il controllo sull'esistenza avvenga direttamente nella query di INSERT?
- Il collegamento: per ogni categoria del prodotto viene fatta una SELECT per ottenerne l'ID (ne abbiamo infatti il nome) e una INSERT per inserire il collegamento.
Come posso far si che la INSERT ottenga direttamente da sola l'ID della categoria?
Non ho poi molta dimistichezza con l'SQL diciamo più che basilare. :-[
Grazie in anticipo ^^