Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22

Discussione: Multiprocessore

  1. #11
    Originariamente inviato da alfonso534791
    cmq ho risolto!!!
    ho installato sql server, ho creato un ponte ODBC con mysql in modo da importare le tabelle con tutti gli attributi e i tipi in sql server. Dopodiché ho effettuato la query con sql server che l'ha eseguito in manco 5 min!!!
    quando si dice la puuutenza!

  2. #12
    @optime

    usare una tabella derivata per il risultato di una union non riduce i tempi di esecuzione

    codice:
    "id";"select_type";"table";"type";"possible_keys";"key";"key_len";"ref";"rows";"Extra"
    "1";"PRIMARY";"<derived2>";"system";NULL;NULL;NULL;NULL;"0";"const row not found"
    "2";"DERIVED";"a";"ALL";NULL;NULL;NULL;NULL;"1";""
    "2";"DERIVED";"b";"ref";"Index 2";"Index 2";"4";"test.a.id";"1";"Using index"
    "3";"UNION";"a";"ALL";NULL;NULL;NULL;NULL;"1";""
    "3";"UNION";"b";"ref";"Index 3";"Index 3";"4";"test.a.id";"1";"Using index"
    NULL;"UNION RESULT";"<union2,3>";"ALL";NULL;NULL;NULL;NULL;NULL;""
    scusa la formattazione, ma comunque il concetto vien fuori

    @alfonso534791

    il motivo per cui ti ci sta 6 vite è che, almeno dalla explain, non risultano indici usati e quindi deve confrontarsi, per ogni singolo record, tutto il resto della tabella il che mi fa pensare che non ci sono indici nelle tue tabelle :\

    se metti delle chiavi, anche semplici, possible_keys ti conterrà qualcosa, ma soprattutto ci starà infinitamente di meno (cosi come anche sql server)
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #13
    Si ma quell'explain a cui ti riferisci risale a prima che indicizzassi le tabelle. Su suggerimento di franzauker avevo fatto l'explain da cui si vedeva la mancanza di indici.
    Tuttavia, nonostante l'aggiunta di indici sui campi del join, mysql ci mette cmq sei vite!!

  4. #14
    mmm, veramente strano a dirti la verità

    con mysql, su linux, ho lanciato query estremamente complesse su data set enormi ma non ho mai avuto problemi di questo tipo

    Per farti un esempio, una lavorava su una trentina di tabelle (svariate superavano la soglia dei centomila e 4 la soglia del milione di records) incrociando i dati anche [purtroppo] usando funzioni accessibili tramite plugins [mi serviva levensthein, abbandonata poi in favore della jaro/jarowinkler] quindi senza sfruttare gli indici e non ha mai superato i 10 minuti.

    potrebbe essere dipeso comunque dal fatto che mysql lo stavi facendo girare su windows
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #15
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da daniele_dll


    potrebbe essere dipeso comunque dal fatto che mysql lo stavi facendo girare su windows
    non direi, visto che la piattaforma di sviluppo di mysql... è windows (ebbene sì).

    ---
    Tornando alla domanda, così giusto per curiosità, devi postare un
    DESCRIBE delle tabelle o (meglio) un mysqldump -d.
    Poi ragioniamo su cosa succede e perchè

  6. #16
    Originariamente inviato da franzauker
    non direi, visto che la piattaforma di sviluppo di mysql... è windows (ebbene sì).
    che mysql sia attualmente sviluppato su windows può essere (fonte?) ... che mysql è stato sviluppato su windows fin dagli albori no, prima di mysql 3.21 non c'era nemmeno un pacchetto per windows
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  7. #17
    Cmq nn uso windows!!
    mysql che uso gira su un server linux!
    Anche io personalmente uso poco windows, e sul fatto che linux sia molto meglio nn ho alcun dubbio!!
    Purtroppo a volte ci tocca usarlo, come ad esempio in questo caso di emergenza, cosa che non mi è piaciuta affatto!
    Purtroppo dobbiamo accettare le sconfitte! bisogna ammettere i limiti di mysql, che è fantastico per tutto quello che concerne l'open source, ma poco performante.

  8. #18
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da daniele_dll
    che mysql sia attualmente sviluppato su windows può essere (fonte?) ...
    io non basto?

  9. #19
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da alfonso534791
    Cmq nn uso windows!!
    mysql che uso gira su un server linux!
    Anche io personalmente uso poco windows, e sul fatto che linux sia molto meglio nn ho alcun dubbio!!
    Io invece ne ho, e parecchi, a seconda dell'ambito di cui si discute
    Purtroppo dobbiamo accettare le sconfitte! bisogna ammettere i limiti di mysql, che è fantastico per tutto quello che concerne l'open source, ma poco performante.
    "poco performante"?
    Se usato bene è uno dei più "performanti".

    Sono ancora in attesa di un SHOW CREATE TABLE delle due tabelle, poi vediamo quanto diventa "performante" un'interrogazione scritta bene

    ---
    Faccio un esempio banale: se devi fare un join tra una tabella di 500.000 righe vs una da 800 milioni (il lavoro che sto facendo in questo momento), supponendo che ogni join impieghi un millisecondo, ci vorranno 5000 secondi, che sono circa 1,4 ore, indipendentemente dal db che usi.

    Ci sono lavori che son ontologicamente lenti, se per "lenti" si intende "che richiedono tempo".

    Se poi li fai male (ossia da quanto ho intuito addirittura senza nel tuo caso indici, oppure se tocca fare così, perchè non ci sono alternative) impiegherà probabilmente 4 secondi a join (per full-scan, tabella troppo grande per stare in memoria)=>555 ore, ossia (quasi) un mese.

    E' solo tecnologia, non magia.

  10. #20
    Originariamente inviato da franzauker
    io non basto?
    ma, siccome mi sembra quanto meno anomalo, visto che è nato su linux ed è stato successivamente portato su windows e fino alla release 5 aveva seri problemi a girare su windows ... ecco ... mi viene difficile credere che windows sia la principale piattaforma di sviluppo di mysql

    usano pure baazar su launchpad (piattaforma che notoriamente è utilizzata per ubuntu) e il terminatore di linea, per i sorgenti, è solo \n e tra i flag di baazar attivi non c'è nulla riguardo alla conversione automatica del terminatore di linea

    tutto qui ^^
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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 © 2026 vBulletin Solutions, Inc. All rights reserved.