Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    [MySQL] automazioni e ottimizzazioni

    Sera a tutti

    Sebbene mi sia documentato un pò, tutto quello che ho trovato in rete, sito di MySQL compreso, è fondamentalmente questo: ottimizzati le query

    Io quoto in pieno e penso che i motori software capaci di generare da soli relazioni ed ottimizzazioni raramente esistano se non all'interno degli stessi databases, ed altrettanto raramente son così performanti.

    Mondo Java hybernate/spring a parte, so che Symfony ad esempio è basato, se non erro, su propel ... e so che propel è un signor sistema o almeno è IL sistema, quando parliamo di database scheme drived applications.

    So anche però che Symfony ha messo un bel punto rosso sulle prestazioni, dichiarandosi quindi veloce, ma non il più veloce.

    Ora, siccome porcherie sul codice a parte e/o nanosecondi il collo di bottiglia più grosso è solitamente proprio il database, se son più di 3 tabelle ... e magari nemmeno relazionate al meglio ... secondo voi vale la pena di tentare di introdurre a forza bruta questo propel all'interno di un progetto da mille mila file, oppure avete una brutta esperienza con la sua complessità/performance e il consiglio è banalmente quello di scriversi query per query a manina, soprattutto quelle critiche?


    Grazie
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  2. #2
    up
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Non sono certo di aver capito la domanda e non conosco Propel e Symfony, ma banalmente condivido il "ottimizzati le query", ricordando che tre decimi di secondo recuperati a una query eseguita 50000 volte, alla fine della giornata valgono qualche ora di impegno-macchina risparmiato. Mica fichi.
    Qualunque imbecille può inventare e imporre tasse. (Maffeo Pantaleoni)

  4. #4
    ottimizzare le query? beh io penso si debba fare un discorso utilitaristico... se serve si ottimizzano, se non serve non si spreca tempo in quello...

    il discorso invece se usare un api/framework per il database non coinvolge solo le prestazioni, ma di nuovo dipende dal progetto...

    resta il fatto che i framework un minimo seri non tolgono la possibilità di scrivere a manina le query percui lì poi si può ottimizzare quanto ti pare ( non è che perchè usi un API allora ti levi del tutto la possibilità di fare query basso livello... ok perdi in portabilità, ma ti segni quelle 4 query che hai ottimizzato basso livello e le riscrivi se devi cambiare db... )

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    un'alternativa a propel
    http://www.phpdoctrine.org/
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Originariamente inviato da fcaldera
    un'alternativa a propel
    http://www.phpdoctrine.org/
    vabbè di approcci ce ne sono molti... ActiveRecord o DatabaseSchema o SQLMap...

  7. #7
    si ... 500 o piu' tabelle su 5 db o piu' interfacciati ... di qui l'esigenza di cambiare approccio.

    Ricapitolando: mi interessa sapere se avete avuto esperienza con propel o analoghi e come vi siete trovati con le prestazioni.

    Per finire, ottimizzando una sola query a mano ho risparmiato secondi, non decimi .. .ma di una sola query e per un solo caso me ne faccio poco.

    Per finire 2, l'applicativo da come avrete intuito e' corposo, e scrivere a mano query per ogni singolo caso richiede un'infinita' di tempo ... l'applicativo e' inoltre OO e cambiare / scrivere metodi per ogni singola casistica non ha, a mio avviso, senso (l'applicativo e' inoltre su da anni, impossibile riscriverlo da zero in tempi utili ... almeno per ora)

    Facciamo cosi': voi cosa scegliereste per ottimizzare al meglio senza perdere troppo tempo?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Originariamente inviato da andrea.paiola
    vabbè di approcci ce ne sono molti... ActiveRecord o DatabaseSchema o SQLMap...
    ... e se ci sono ci sara' un motivo ... tu quali hai provato e come ti sei trovato? (dalla tua prima risposta deduco male o deduco tu non ne abbia avuto bisogno, date le 4 query ottimizzate a mano ... oppure son formidabili ed hai dovuto ottimizzarne solo 4?)
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Originariamente inviato da andr3a
    ... e se ci sono ci sara' un motivo ...
    sì, ma non per ottimizzare le prestazioni. Solitamente si usano perché consentono uno sviluppo più rapido delle applicazioni. Alcune arrivano anche a non richiedere nemmeno la conoscenza del codice, o in misura limitata.

    Originariamente inviato da andr3a
    Facciamo cosi': voi cosa scegliereste per ottimizzare al meglio senza perdere troppo tempo?
    Se parli di ottimizzazione delle query non conosco altra via che non sia l'intervento manuale. Nessun terzo tool sarà mai in grado di fornire prestazioni migliori per il semplice motivo che sono tutti esterni al motore SQL e al suo ottimizzatore. Anzi, rischi pure che inibiscano l'intervento dell'ottimizzatore interno al DBMS.

    PS. non ho capito se parli di smart client oppure di web client.
    Qualunque imbecille può inventare e imporre tasse. (Maffeo Pantaleoni)

  10. #10
    Originariamente inviato da webus
    sì, ma non per ottimizzare le prestazioni. Solitamente si usano perché consentono uno sviluppo più rapido delle applicazioni. Alcune arrivano anche a non richiedere nemmeno la conoscenza del codice, o in misura limitata.


    Se parli di ottimizzazione delle query non conosco altra via che non sia l'intervento manuale. Nessun terzo tool sarà mai in grado di fornire prestazioni migliori per il semplice motivo che sono tutti esterni al motore SQL e al suo ottimizzatore. Anzi, rischi pure che inibiscano l'intervento dell'ottimizzatore interno al DBMS.
    Ho capito ... ma un conto e' un motore come propel, che capisce lo schema e genera le query in modo intelligente, un conto e' il sistema attuale che a me non piace e non genera query sensate.

    So bene che a mano e' meglio in assoluto, ma come ho detto "non e' possibile" farlo perche' non a caso si usava un motore data la mole di info, tabelle e db ... il problema e' che tale motore non va come propel ... o meglio ancora, vorrei sapere se propel ha buone prestazioni, se l'avete usato, se vi siete trovati bene, se ne conoscete di meglio ... o info di questo tipo.

    piu' chiaro ora?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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