Come velocizzare una VIEW con mySQL

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

Come velocizzare una VIEW con mySQL

Messaggio da Giovannino » 20 dic 2016, 11:12

Ciao a tutti,

per motivi tecnici ho dovuto appoggiare una grid su una VIEW ma purtroppo la stessa risulta essere molto lenta nel caricamento.
Non sono un programmatore ma credo che ad esempio indicizzare una view in mySQL non sia possibile.
Qualcuno ha delle idee a riguardo ?
Non so se ad esempio con qualche barbatrucco si possa caricarla in sulla RAM del server al login o altri trucchi del genere.
Grazie

Ecco la query sulla VIEW --> pipeline_view . Il WHERE mi serve per selezionare la divisione di business accedibile da ogni utente.

SELECT
Id_row_P,
AREA,
Responsabile,
Opportunita,
Gara,
Prov,
Tipo,
ValoreK,
Anno,
Mese,
Perc_Successo,
Potenz,
Fatt_potenziale_annuo,
Note_1,
Note_2,
Referente_1,
Referenze_2,
History,
Linea_P,
Strumento_Prodotto_P,
Numero_P
FROM
pipeline_view
WHERE AREA IN ([usr_area])

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

Re: Come velocizzare una VIEW con mySQL

Messaggio da rino » 20 dic 2016, 19:59

se usr_area è un valore unioc e non un elenco di valori non usare IN
Comunque se non metti la query di pipeline_view non si capisce nulla , è lei che accede ai dati fisici ed è lei a essere lenta o veloce , gli indici vanno usati nella query di definizione view
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: Come velocizzare una VIEW con mySQL

Messaggio da Giovannino » 23 gen 2017, 19:32

Salve Rino e grazie della risposta .
Per quanto riguarda la velocità ho inserito nelle tabelle di origine gli indici sulle colonne di riferimento.
A mio avviso comunque sono i Refined Search che ammazzano la query . In questa grid ne ho 7/8 e quando carica i dati... boccheggia un po' pur avendo un 5.000 records in tutto.
Ho dovuto fare questo giro perchè i Refined Search non funzionano usando gli alias dei campi nella query. Ho segnalato come bug... ma è di solito c'è molta nebbia...;-))

Nella agrafica utente ho inserito un campo testo multiselezione e quindi quando si crea un utente lo si può collegare ad diverse aree di business.
Tanto per capirci le BA potrebbero essere PC;STAMPANTI;NOTEBOOK
Il WHERE IN quindi conterrà la serie di parametri di filtro che sono presenti nel campo [usr_area].
Non mi viene in mente niente di più semplice.

Saluti

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

Re: Come velocizzare una VIEW con mySQL

Messaggio da rino » 24 gen 2017, 00:00

scusa ma hai idea di cosa deve fare per i rs? va avanti e indietro per un bel po mi pare ovvio che possa faticare un pelo .
per velocizzare , cosa possibile , si deovno esplorare diverse vie che però richiedono conoscenze che mi pare tu non abbia . siamo nel campo delle ottimizzazioni lavoro per specialisti :D

Non puoi pretendere che Sc risolva questo tipo di problematiche con la semplicità con cui risolve altri problemi , gli strumenti ci sono usarli sta al programmatore - sistemista - data_base enginering - analista
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

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti