Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

428
Views
Consulta SQL lenta / Visualización (PHP / jQuery)

Tengo una solicitud para obtener datos en mi base de datos mySQL (36 848 entradas). Luego los formateo y los agrego con jQuery en mi página web.

Estas dos operaciones toman 2 minutos y 30 segundos. Durante este tiempo, ninguna otra operación es posible en la página.

¿Hay alguna manera de optimizar esto para acelerar el proceso? Así, es inutilizable.

Mi función PHP

 <?php function get_my_customers() { $req = $bdd->prepare("SELECT * FROM clients ORDER BY raison_sociale"); $req->execute(); $customers = $req->fetchAll(PDO::FETCH_ASSOC); return $customers; } if(isset($_POST['ajax'])){ $result = get_my_customers(); echo json_encode($result); } ?>

Recuperación de datos en jQuery (Ajax)

 function get_my_customers(){ var customers; $.ajax({ url: "model/application/*******/customers/get_my_customers.php", async: false, type: "POST", dataType: 'json', data: {ajax: 'true'}, success: function(data) { customers = data; } }); return customers; } var my_customers = get_my_customers(); $('#customers_list').append('<div class="list_card" card="customers_list"></div>'); $.each(my_customers, function(key, val){ if(val.enseigne == null){ var enseigne = ''; }else{ var enseigne = ',' + val.enseigne; } $('.list_card[card="customers_list"]').append(''+ '<div class="list_card_element">'+ '<div><b>'+ val.numero_client +'</b></div>'+ '<div>'+ '<b>'+ val.raison_sociale +'</b>' + enseigne + '<br>'+ val.cp_livraison + ', ' + val.adresse_livraison + '</div>'+ '</div>' ); });

¿Sabes qué puedo hacer para acelerar el tiempo de procesamiento? Intenté limitar la consulta SELECT solo a los campos que necesito, pero eso no mejora el tiempo de procesamiento.

Me pregunto si no es más bien el diseño de jQuery lo que lleva tiempo en lugar de la consulta SQL.

Gracias !

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Use herramientas de desarrollo en su navegador para determinar qué paso está causando la ralentización. La pestaña Red le mostrará la solicitud de Ajax y el intervalo de tiempo de la obtención de datos. Si ese intervalo de tiempo no es el problema, es probable que sea con Javascript. Puede profundizar en el rendimiento de Javascript utilizando la pestaña Rendimiento.

over 4 years ago · Santiago Trujillo Report

0

trate de usar índices ver que

MySQL puede usar un índice en las columnas en ORDER BY (bajo ciertas condiciones). Sin embargo, MySQL no puede usar un índice para orden mixto ASC, DESC por (SELECT * FROM foo ORDER BY bar ASC, pants DESC). Compartir su consulta y la instrucción CREATE TABLE nos ayudaría a responder su pregunta de manera más específica.

over 4 years ago · Santiago Trujillo Report

0

Acabo de pasar de 2 minutos y 30 segundos a 14 segundos con esta optimización.

 var construct_customers = ""; $.each(my_customers, function(key, val){ if(val.enseigne == null){ var enseigne = ''; }else{ var enseigne = ',' + val.enseigne; } construct_customers += '<div class="list_card_element">'+'<div><b>'+ val.numero_client +'</b></div>'+'<div>'+'<b>'+ val.raison_sociale +'</b>' + enseigne +'<br>'+val.cp_livraison + ', ' + val.adresse_livraison +'</div>'+'</div>'; //OLD CODE // $('.list_card[card="customers_list"]').append(''+ // '<div class="list_card_element">'+ // '<div><b>'+ val.numero_client +'</b></div>'+ // '<div>'+ // '<b>'+ val.raison_sociale +'</b>' + enseigne + // '<br>'+ // val.cp_livraison + ', ' + val.adresse_livraison + // '</div>'+ // '</div>' // ); }); $('.list_card[card="customers_list"]').append(construct_customers);

Estoy impresionado

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!