Query lenta.....Mysql 5.7

Discussione in 'MySQL' iniziata da max1974, 11 Aprile 2019.

  1. max1974

    max1974 Nuovo Utente

    Registrato:
    7 Marzo 2013
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Salve ragazzi ho la seguente query....
    PHP:
    SELECT tb_pianifica.*,tb_grpwbs.id AS n_gruppo,tb_grpwbs.id_collega AS collega,tb_grpwbs.id_status AS status_gruppo,tb_npp.codice AS cod_npp,tb_pm.nome AS nome_pm,tb_st.descrizione AS desc_st,tb_spec.descrizione AS desc_spec,
                    (CASE 
    WHEN tb_pianifica.dt_steering <> '0000-00-00' THEN REPLACE(DATE_FORMAT(dt_steering,GET_FORMAT(DATE,'EUR')),'.','/') ELSE ' ' END) AS data_ste,
                    (CASE 
    WHEN tb_pianifica.id_grpwbs <> '0' AND tb_grpwbs.id_collega='1' AND tb_grpwbs.id_status='1' THEN tb_grpwbs.wbs ELSE tb_pianifica.wbs END)AS wbs,
                    (CASE 
    WHEN tb_pianifica.id_grpwbs <> '0' AND tb_grpwbs.id_collega='1' AND tb_grpwbs.id_status='1' THEN tb_grpwbs.notes ELSE tb_pianifica.notes END)AS notes,
                    (CASE 
    WHEN tb_pianifica.id_grpwbs <> '0' AND tb_grpwbs.id_collega='1' AND tb_grpwbs.id_status='1' THEN SUM(tb_pianifica.budget) ELSE tb_pianifica.budget END)AS budget,
                    (CASE 
    WHEN tb_pianifica.id_grpwbs <> '0' AND tb_grpwbs.id_collega='1' AND tb_grpwbs.id_status='1' THEN SUM(tb_pianifica.pianificato) ELSE tb_pianifica.pianificato END)AS pianificato,
                    (CASE 
    WHEN tb_pianifica.id_grpwbs <> '0' AND tb_grpwbs.id_collega='1' AND tb_grpwbs.id_status='1' THEN SUM(tb_pianifica.cap13) ELSE tb_pianifica.cap13 END)AS cap13,
                    (CASE 
    WHEN tb_pianifica.id_grpwbs <> '0' AND tb_grpwbs.id_collega='1' AND tb_grpwbs.id_status='1' THEN SUM(tb_pianifica.cap15) ELSE tb_pianifica.cap15 END)AS cap15,
                    (CASE 
    WHEN tb_pianifica.id_grpwbs <> '0' AND tb_grpwbs.id_collega='1' AND tb_grpwbs.id_status='1' THEN SUM(tb_pianifica.cap16) ELSE tb_pianifica.cap16 END)AS cap16,
                    (CASE 
    WHEN tb_pianifica.id_grpwbs <> '0' AND tb_grpwbs.id_collega='1' AND tb_grpwbs.id_status='1' THEN SUM(tb_pianifica.capaltri) ELSE tb_pianifica.cap16 END)AS capaltri,
                    (CASE 
    WHEN tb_pianifica.id_grpwbs <> '0' AND tb_grpwbs.id_collega='1' AND tb_grpwbs.id_status='1' THEN SUM(tb_pianifica.cap13+tb_pianifica.cap15+tb_pianifica.cap16+tb_pianifica.capaltri) ELSE tb_pianifica.cap13+tb_pianifica.cap15+tb_pianifica.cap16+tb_pianifica.capaltri END)AS tot_eff_a_c,
                    (CASE 
    WHEN tb_pianifica.id_grpwbs <> '0' AND tb_grpwbs.id_collega='1' AND tb_grpwbs.id_status='1' THEN SUM(tb_pianifica.budget-tb_pianifica.eff_tot-tb_pianifica.cons_prev_dichtb_pianifica.cap13+tb_pianifica.cap15+tb_pianifica.cap16+tb_pianifica.capaltri) ELSE tb_pianifica.budget-tb_pianifica.eff_tot-tb_pianifica.cons_prev_dichtb_pianifica.cap13+tb_pianifica.cap15+tb_pianifica.cap16+tb_pianifica.capaltri END)AS residuo_f_a
                    FROM tb_pianifica
                    LEFT JOIN tb_grpwbs ON tb_grpwbs
    .id tb_pianifica.id_grpwbs
                    LEFT JOIN tb_npp ON tb_pianifica
    .id_npp tb_npp.id
                    LEFT JOIN tb_pm ON tb_pianifica
    .id_pm tb_pm.id
                    LEFT JOIN tb_st ON tb_pianifica
    .id_sog_tec tb_st.id
                    LEFT JOIN tb_spec ON tb_pianifica
    .id_spec tb_spec.id
                    GROUP BY wbs
                    ORDER BY tb_pianifica
    .id_grpwbs DESC
    premesso che la query stessa lanciata da dentro Mysql risponde (2241 del totale, La query ha impiegato 0.0936 secondi.)
    invece quando viene richiamata all'interno di una dataTable con <<sAjaxSource: "ajax_allsel.php">>
    impiega circa 30 secondi a refreshare la tabella.....
    potreste darmi una mano.....consigliate di usare indici potrebbe essere un problema? secondo voi come/dove usarli ? ma da quello che mostrano i risultati il problema non dovrebbe essere di mysql e dove posso trovarlo ??
    grazie.
     
    Ultima modifica di un moderatore: 11 Aprile 2019
  2. Max 1

    Max 1 Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    29 Febbraio 2012
    Messaggi:
    3.610
    Mi Piace Ricevuti:
    268
    Punteggio:
    83
    Sesso:
    Maschio
    @max1974
    Da regolamento del forum, come tutti noi sei tenuto ad usare il tag [​IMG] o il tag [​IMG] per il PHP, quando posti del codice, oppure la funzione codice dalla barra degli strumenti
    [​IMG]
    Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
    Grazie
    Per questa volta te lo sistemo io ma mi raccomando per il futuro
     
  3. max1974

    max1974 Nuovo Utente

    Registrato:
    7 Marzo 2013
    Messaggi:
    9
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    ;););) grazie 1000
     
Sto caricando...
Discussioni simili - Query lenta Mysql
  1. N-M-S
    Risposte:
    0
    Visite:
    427
  2. alien1985
    Risposte:
    0
    Visite:
    1.058
  3. Dex01
    Risposte:
    0
    Visite:
    140
  4. Gian72Luca
    Risposte:
    0
    Visite:
    73
  5. Phelps
    Risposte:
    2
    Visite:
    129

Condividi questa Pagina