Bonjour,

j'ai un problème de lenteur de mon script, mentionné dans cette discussion https://www.developpez.net/forums/d2124326/php/langage/script-stoppe/ au post #10.

Le SGBD est MySQL.

Mon script d'accès à la bdd est le suivant :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 static public function  putInDBLicense($refrefTable, $ref_ppp){
        $save_success = true;
 
        /* pour ne pas avoir à modifier tout le code qui suit    */
        $ref_app = $refrefTable->getref_App();
        $ref_platform = $refrefTable->getref_Platform();
        $ref_country = $refrefTable->getref_Country();
        $ref_location = $refrefTable->getref_Location();
        $ref_company = $refrefTable->getref_Company();
        $ref_BU = $refrefTable->getref_BU();
        $ref_usermanager = $refrefTable->getref_Usermanager();
        $ref_US_user = $refrefTable->getref_US_user();
        $ref_USL_user_license = $refrefTable->getref_USL_user_license();
        $ref_Domain = $refrefTable->getref_Domain();
        $ref_Email = $refrefTable->getref_Email();
        $ref_license = $refrefTable->getref_License();
 
 //insert ou update pour ap_application
        /** @var \ticket_rawsrc\model\license\table\AP_application  $ref_app*/
 
        $save_success &= $ref_app->save(true, $ref_app->getAP_appli_name(), $id_platf, $ref_ppp);  //mise en bdd
 
// 11 autres écritures en bdd (insert ON DUPLICATE KEY) avec parfois des SELECT avant

Ce traitement d'écriture en bdd est effectué lors de la lecture d'un fichier CSV. Il est effectué à chaque ligne lue. Le fichier compte 110000 lignes. Au bout de 6 heures, 4500 lignes ont été traitées. Donc une règle de 3 indique que ça prendra 6 jours (6*110000/4500/24 =6,1)
Comment puis-je optimiser ça ?