Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

433
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda