salve
devo estrarre da una tabella un bel po di record tipo da 5mila a 15mila
cambia di volta in volta
prima facevo una semplice estrazione di due dati
esempio
nome-cognome
poi dopo un'upgrade della piattaforma che uso cognome non viene più usato "ma ovviamente i vecchi dati ci sono sempre
quindi devo estrarre tipo
nome-cognome-cognome_diviso
cognome_diviso sta in un'altra tabella ed e diviso in più parti diverse per ogni caso
quindi puo essere che cognome_diviso sta in un solo record oppure devo unire diversi record per risalirci
ovviamente per farlo ci sono degli identificativi
comunque in pratica lo fatto tutto in una query sql
riporto di seguito un'esempio delle tabelle e della query
il problema è che ora la query è pesante e quando mi chiamano lo script mi capita spesso che il load_average del server sql mi vada da 1 a 2-3dati
nome-cognome-ids-id_repart
dati2
ids_2-id_c-cgn_diviso----"cgn_diviso sta in più parti per trovarlo bisogna vedere dove sta ids_2 e l'ordine si vede da id_c"
SELECT nome,cognome,ids,(SELECT GROUP_CONCAT(DISTINCT cgn_diviso ORDER BY id_c ASC SEPARATOR ' ') AS cognome_diviso FROM dati2 WHERE ids_2 = ids) AS tts FROM dati WHERE id_repart = ".$num." ORDER BY nome LIMIT $i, 250
volevo sapere se ho sbagliato qualcosa e se si puo rimediare
se potete fatemi sapere
grazie


LinkBack URL
About LinkBacks


Rispondi Citando
Segnalibri