• Super User

    come ti sembra ora la velocità?


  • Super User

    :yuppi: :yuppi: :yuppi:

    ora mi sembra decisamente più veloce.
    vado a sensazione, niente dati precisi, però.... ora va molto meglio 😄


  • Super User

    bene bene

    hai qualche suggerimento per togliere i join che sono FONDAMENTALI per me? 😞


  • Super User

    a quali join ti riferisci?


  • Super User

    inner join che ci sono in alcune query.

    Non parlo di soluzioni "specifiche" ma di un qualcosa di generale per superare dei join 😞

    Grazie mille!


  • Super User

    non sono i join a creare problemi ma gli indici che hai creato sulle tabelle e la tipologia di indice.

    purtroppo conosco poco mssql ed ancora meno mysql ma mi sono ripromesso di prendermi un bel manuale di mysql e studiarlo a fondo per ottimizzare il suo utilizzo.

    le regole per ottimizzare un db prevedono la recola ACID innanzitutto,
    l'assoluta certezza che il dato è unico nel database e qundi non ridondante,
    le tabelle di produzione sono snelle e leggere e quindi ogni dato che non serve più viene storicizzato, gli indici vengono fatti in modo corretto, quelli cluster soprattutto.

    se hai ricerche su un po' di testo usa gli indici full text.

    qunado fai una query chiedi sempre i dati indispensabili e non fare mai select * from tabella a meno che non sia strettamente indispensabile.

    la chiave primaria della tabella dovrà essere un int perchè gestire 4 byte è ben diverso da gestirne n di un varchar.

    meglio usare i char perchè mantengono la pagine dei dati contigue mentre con i varchar (più comodi in programmazione) non garantiscono questo e quindi il dato è frammentato.

    se fai spesso inserimenti di una certa entità fai in modo di ricostruire gli indici.


  • Super User

    @Tymba said:

    le tabelle di produzione sono snelle e leggere e quindi ogni dato che non serve più viene storicizzato, gli indici vengono fatti in modo corretto, quelli cluster soprattutto.

    qunado fai una query chiedi sempre i dati indispensabili e non fare mai select * from tabella a meno che non sia strettamente indispensabile.

    la chiave primaria della tabella dovrà essere un int perchè gestire 4 byte è ben diverso da gestirne n di un varchar.

    Allora, diciamo che praticamente faccio già tutto quello che mi consigli.

    Unica cosa...non so cosa sono gli indici cluster.. :mmm:

    Grazie millissime!


  • Super User

    gli indici cluster o meglio l'indice cluster di una tabella è quell'indice che ordina fisicamente sul disco i dati. In sostanza dice con quale ordine andare a scrivere i dati sul disco e quindi eprmette una velocità di interrogazione decisamente superiore.
    Non sono sicurissimo che questa tipologia di indice ci sia anche mysql. Ho appena scaricato il manualetto for dummy dal sito (800 pagine porga paletta) ed ora gli do una guardata poi ti faccio sapere qualcosa.


  • Super User

    gli indici ce li ha...sono questi cluster che non mi tornano 😄

    Grazie mille

    CIAO!


  • Super User

    si si lo so che gl'indici ci sono ... e ci mancherebbe hehehe
    ho il dubbio sull'esistenza degl'indici cluster.

    solo a livello di "discussione tra amici" hai mai dato un'occhiata ai benchmark sul sito di mysql?

    è un motore veramente con i contro....i

    per questo voglio studiarlo per bene perchè sto meditando di usarlo anche in altri ambiti (nei miei programmi).