+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Velocizzare Query MySql

  1. #1
    Danielus non è in linea Novello
    Salve,Ho un Database grande 18gb che contiene circa 60 milioni di righe, nella colonna "Guadagno" vorrei fare la media dei valori, ma impiega un eternità, nonostante ho indicizzato a dovere il campo. Uso phpmyadmin e il motore della tabella è mysam (innodb è lento non so perche) Come si può velocizzare?

  2. ma vuoi la media di tutti i 60 milioni di record ?
    ℹ️ Leggi di più su sspintux ...

  3. #3
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    i valori messi nella tabella sono in ordine crescente oppure sono come immessi?perchè ce' la sua differenza.
    ℹ️ Leggi di più su sistemista ...

  4. #4
    Danielus non è in linea Novello
    i valori sono ordinati per un ID che sarebbe la chiave primaria e sono ordinati in modo crescente, il principio sarebbe questo, ho un elenco enorme di acquisti che ha fatto una persona, diciamo 60 milioni di acquisti, e vorrei fare la media di quanto spende ogni volta, uso la funzione AVG sul campo ma impiega comunque molto tempo nonostante si indicizzato a dovere. non so cosa fare, c'è differenza tra innodb e mysam? uso mysam perché è più piccolo, quando provo a usare innodb diventano abbastanza grandi le tabelle e non mi piace. qualche consiglio? per esempio io mi chiedo, come fanno i big tipo google (ovviamente la mia potenza di calcolo non è paragonata alla loro) a trovare tutti i miei dati in un oceano di dati? e in tempi molto brevi.

  5. #5
    Ferrari_and non è in linea Scolaretto
    Ciao in internet per mysql trovi software gratuitiper l'analisi delle query in alternativa puoi usare l' istruzione EXPLAIN per vedere il comportamento e vedere se creare indici più offeicenti o simili.

  6. Quote Originariamente inviato da Danielus Visualizza il messaggio
    .....
    ho un elenco enorme di acquisti che ha fatto una persona, diciamo 60 milioni di acquisti, e vorrei fare la media di quanto
    spende ogni volta
    ....
    uso la funzione AVG sul campo ma impiega comunque molto tempo nonostante si indicizzato a dovere.
    se i record da analizzare sono così tanti e l'hardware non è abbastanza performante
    mi sa che che c'è poco da fare con gli indici;

    personalmente valuterei la possibilità di calcolare la media
    allo stato attuale in una tabella separata ed aggiornarla ad ogni nuovo acquisto in base ai soli
    nuovi record di acquisto;
    ovviamente si spera che gli acquisti già fatti già da un certo tempo non varino più
    e devi poterti permettere il calcolo della media iniziale

    HTH
    Ultima modifica di sspintux; 03-06-2020 11:36 
    ℹ️ Leggi di più su sspintux ...

  7. #7
    Danielus non è in linea Novello
    ho trovato il problema usando explain, facendo like '%condizione%' lui scansiona tutta la tabella, come posso fare per cercare una parte di stringa usando gli indici? con una ricerca full text non funziona non capisco il motivo.

  8. ... ancora non ho capito se devi la media di 60 milioni di record o solo di una sua parte
    ℹ️ Leggi di più su sspintux ...

  9. #9
    Danielus non è in linea Novello
    solo una parte(solo quelli che rispondono alla condizione like '%condizione%') solo che non sfrutta gli indici così, come posso fare?

  10. #10
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Puoi fare un esempio di quel "Like %condizione%" ?
    ℹ️ Leggi di più su Brontolo ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Velocizzare una query
    Da Giammi77 nel forum Microsoft Access
    Risposte: 14
    Ultimo Post: 02-05-2016, 12:58
  2. velocizzare query
    Da Rochy Joe nel forum Microsoft Access
    Risposte: 9
    Ultimo Post: 10-03-2015, 09:11
  3. Risposte: 12
    Ultimo Post: 18-12-2012, 20:42
  4. Velocizzare query
    Da Ale Monza nel forum Microsoft Access
    Risposte: 4
    Ultimo Post: 10-10-2010, 12:35
  5. Risposte: 0
    Ultimo Post: 14-11-2005, 11:49