Pagina 2 di 6 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 51
  1. #11
    Molte autoscuole d' italia interrogano il Db con questa query con ogni loro allievo, quindi a volte si saturano le risorse del DB

  2. #12
    a volte comunque a caricare i dati nella jquery datatable ci va anche 2 minuti interi

  3. #13
    ok, rifo per la terza volta la domanda: hai controllato gli indici?

  4. #14
    sìsì tutto indicizzato!!

  5. #15
    ok. allora guarda se il server è ben carrozzato. e anche, se quella è la query più eseguita e più problematica, provare a pensare a una stored procedure

  6. #16
    sì quella è una delle 2 più pesanti!

  7. #17
    prova questa

    codice:
    SELECT
    	sync.id_allievo		AS id_allievo, 
    	Count(sync.id_allievo)	AS schede, 
    	li.domande		AS domande, 
    	ifnull(li.errori, 0)	AS errori, 
    	Ifnull(mediaerrori,0)	AS mediaerrori 
    FROM
       (SELECT * FROM sync WHERE sync._stato <> 'D' AND sync._stato <> 'X' AND sync.tipo = 'TipoEsame' sync.id_allievo = '. $id_allievo . ' ) sync 
    LEFT JOIN allievo A
    	ON a.id_allievo = sync.id_allievo 
    LEFT JOIN clientescuola CS
    	ON (cs.id_clientescuola = a.id_clientescuola AND cs.id_sedeclienteneca = '. $id_sedeClienteNeca . ')  
    LEFT JOIN listato LI
    	ON li.tipo = a.listatoquiz 
    JOIN (SELECT 
    	Avg(media) AS mediaerrori 
          FROM (SELECT errori AS media 
                FROM sync 
                WHERE id_allievo='. $id_allievo . ' AND tipo = 'TipoEsame'
                ORDER BY `sync`.`datafine` DESC limit 15)
                AS mediaerrori)
          MediaErrori
    ma non assicuro nulla

  8. #18
    Sì funzionare funziona... M a performance sono uguali...temo che il problema sia proprio la tabella sync che è ingestibile!

  9. #19
    prova con una SP passando per tabelle temporanee. con SQL Server le performance aumentano in maniera spaventosa (non so con MySQL )

    per esempio

    codice:
    SELECT * INTO TEMP FROM sync WHERE sync._stato <> 'D' AND sync._stato <> 'X' AND sync.tipo = 'TipoEsame' sync.id_allievo = '. $id_allievo . ' )
    poi nella tua select usi TEMP al posto di sync, ma senza WHERE perché è già pulita

  10. #20
    Scusa non sono così bravo di sql e non ho capito...come posso fare a trasformare quella query?

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.