Select molto lenta in campo select

Raccoglitore di domande e risposte relative a ScriptCase, il generatore di codice php per lo sviluppo rapido di applicazioni.
Regole del forum
Nel forum è vietato fare pubblicità senza avere l'autorizzazione dello staf di Netspecial.
Rispondi
Giovannino
Messaggi: 116
Iscritto il: 06 ott 2014, 08:56

Select molto lenta in campo select

Messaggio da Giovannino » 03 dic 2018, 15:51

Ciao a tutti,

avrei necessita di sveltire un bel po' una select che seleziona un 21.000 records in un campo select.
Ho provato ad inserire indici etc. ma più di tanto non si guadagna in velocità.

Questa è la semplicissima select. Devo levare l' ORDER BY ?? Ho provato anche ad usare USE INDEX (....) ma nada

SELECT article_id, concat(codart, " - ", descrizione) as descri_item
FROM articles
ORDER BY codart, descrizione

Allegata tabella e indici attivi

Grazie
Allegati
indexing.jpg
indexing.jpg (121.19 KiB) Visto 4760 volte

Fabio
Messaggi: 449
Iscritto il: 20 feb 2014, 11:43

Re: Select molto lenta in campo select

Messaggio da Fabio » 05 dic 2018, 13:59

L'ordinamento per "descrizione" sicuramente rallenta molto e non ha molto senso.

Giovannino
Messaggi: 116
Iscritto il: 06 ott 2014, 08:56

Re: Select molto lenta in campo select

Messaggio da Giovannino » 06 dic 2018, 09:05

Salve,
ho levato anche l'ORDER BY del tutto ma non migliora di molto.
Se faccio la stessa query con SQL usando phpmyadmin ci mette un attimo.
Levando il SELECT2 e area relativa la velocità torna ...'quasi' normale
Ho paura che il SELECT2 faccia dei giri che rallentano parecchio l'estrazione.
Speriamo di no perchè il select2 è una bella funzionalità

Fabio
Messaggi: 449
Iscritto il: 20 feb 2014, 11:43

Re: Select molto lenta in campo select

Messaggio da Fabio » 09 dic 2018, 07:17

Probabilmente è lenta l'interpretazione dell'html (evidentemente molto grande).
In questo caso una soluzione è quella di aggiungere dei "where" in modo che non vengano elencati mai tutti i 21000 record.
Anche per l'utente, non deve essere molto comodo lavorare su un campo select con così tante opzioni.
Quindi: mettendo una o due select di filtro, prima della tua select, puoi definire meglio i dati che interessano.
Ad esempio scegliendo prima la categoria merceologica.

rino
Messaggi: 660
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: Select molto lenta in campo select

Messaggio da rino » 30 gen 2019, 00:37

ovvio che se lavori sotto phomadmin ci metti meno , ha un accesso diretto rispetto a PDO.
Uno degli errori che ho notato spesso è l ignorare l esistenza delle viste . quando si usano tabele in lettura sono estremamente comode e permetotno grandi , enormi risparmi di tempo. Oltre ciò permettono attività che in via naturale SC ( e non solo) non permette, per esempio certi ordinamenti online .
Usando la vista il lavoro sporco viene fatti in fase di inserimento aggiornamento della riga, un tempo di "ventilazione" tutto sommato banale , per contro hai disponibili i record formattati come vuoi senza perdere tempo in preparazione , oltre ad una molto piu interessante gestioen della sicurezza.
Prova quindi con una view potresti avere belle sorprese

altra cosa , il concat che usi dovresti sostituirlo con il concat_ws , nel tuo caso dovrebbe essere leggermente piu veloce.
tornando alle view nel tuo caso risparmi il tmepo del concato eprchè sarebe eseguito a tmepo di aggiornamento del record originale , insomma quando leggi ti trovi tutto già pronto con fortissmo risparmio anche di memoria .


una giusta programmazione si ottiene bilanciando il laoro tra programma e dababase :D
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

Giovannino
Messaggi: 116
Iscritto il: 06 ott 2014, 08:56

Re: Select molto lenta in campo select

Messaggio da Giovannino » 27 mar 2019, 14:43

Ciao, grazie e scusa il ritardo nella risposta,

sicuramente ci proverò usando una vista e ws_concat pure ;-)

Rispondi

Chi c’è in linea

Visitano il forum: Ahrefs [Bot] e 7 ospiti