MySQL i limiti


Gratis, naturalmente, MySQL è uno dei database più utilizzato nell’ambiente Web appunto per i suoi pregi di DataBase veloce, affidabile, facile ma soprattutto grautito!
Infatti viene distribuito con la quasi totalità delle distribuzioni linux (io non ne ho provate moltissime, ma su RedHat, SuSe, Debian, SlackWare, Mandrake e Caldera c’è ed è perfettamente appoggiato al sistema) e nel caso in cui non lo fosse basta scaricare un ammontare di 8 Mb (nella versione RPM per RedHat) dal fornitissimo sito www.mysql.org (distribuisce tutti i pacchetti appositamente studiati per ogni distribuzione più avviamente i sorgenti nella verà filosofia open source) ed installare il pacchetto. L’amministrazione è di una facilità disarmante, non necessita di parametri particolari ed è completamente configurabile come accessibilità da parte di utenti od indirizzi IP.

Il prezzo da pagare? nessuno apparentemente, ripeto, è veloce ed affidabile, ripeto “apparentemente”, nei giorni scorsi mi è sceso l’amaro in bocca per una questione molto semplice: una query che non ottimizzata impiega circa 30 secs per essere eseguita deve a tutti i costi essere migliorata, immaginerete anche voi che non si può far aspettare un utente Web madio per 30 secs e dopo averlo fatto aspettare gli si propinano 5 record! Inimmaginabile dico io, allora mi impegno
ed ottimizzo la query, il giochino è semplice, basta implementare delle subquery che filtrino le tabelle più copiose ove possibile. Sembra funzionare tutto in ambiente Oracle (Utilizzo spesso quell’ambiente perchè è il sistema informativo di dove lavoro attualmente, quindi già che c’è una macchina potente su cui poter giocare…. mi capite spero) ma appena passo al query su ambiente MySQL non mi capacito di vedere la crisi stagnante: “sintax error near line etc etc…”.
Ma dove avrò sbagliato? continuo a chiedermi, se da una parte funziona … SQL è sempre SQL … invece no, SQL di oracle ha delle funzioni che MySQL non ha o ha ma scritte in altro modo, ma io non ho utilizzato nessuna funzione strana, se non i nomi dei campi puri e semplici.

Il problema sta nell’implementazione delle sub query, togliendo la sub query il programma gira benissimo. Ebbene sì dopo varie ricerche e forum e motori di ricerca e siti di HowTo mi trovo tutte le porte chiuse, l’attuale versione di MySql distribuita in boundle con linux non supporta le sub query, nemmeno un “nomecampo in (1,2,3,4)” bisogna optare per i tanto odiati join left, join right, outer join, inner join etc etc…
Ma non tutte le sub query sono sostituibili, nel mio caso, i 30 secs rimarranno sempre 30 secondi.
Peccato, mi piaceva davvero tanto MySQL, è alla portata di tutti.
Nota molto incoraggiante è che sul sito del DB c’è un advert che dice che nella versione successiva sarà possibile effettuare delle sub query, ora dipende solo da quanto sono bravi i programmatori, ma io non dubito, riusciranno a stupirci ancora una volta con un giocattolino nuovo nuovo e più bello e
più veloce e più sicuro, “l’unico limite è la fantasia”.
Rendo ancora grazie ai programatori che stanno dietro le righe di codice che tutti i giorni noi usiamo quando apriamo una pagina internet, per questo stesso sito credo che si siano impegnati in più di 3.000 per realizzare il SoftWare che lo tiene in piedi.

MySQL i limiti ultima modifica: 2002-10-11T00:00:00+00:00 da Enrico

4 Comments.

  1. Ciao Anonimo,
    ne penso bene, anche se non ho molta esperienza al riguardo… l’ho provato, molto pi completo
    offre di pi di MySql anche se ultimamente anche MySql si sta adattando.
    Purtroppo per il mio parere inflazionato dal fatto che non sono in grado di dire quante risorse occupa, quanto fa lavorare la macchina, come gestisce i tablespace… insomma tutta una serie di dettagli che incidono sulla scelta di un DB piuttosto che un’altro.

  2. [url=http://www.innodb.com/index.php]http://www.innodb.com/index.php[/url]

    che altro dire:
    inno DB un formato di tabelle su MySql che supera certi limiti tipo le foreing Key o il locking sulle righe.

    Il formato InnoDB utilizzabile in un DB MySQL assieme a MyISAM (in pratica avresti un ibrido)

    Non credere che ti faccia un tabulato comparativo tra i due formati perch si dovrebbe tener conto di velocit di transazione in interrogazione, update ed insert con multi utente o singolo utente con milioni di recordo e con 10 record, insomma sarebbe troppo per poter fare un semplice post su questo forum

    Personalmente utilizzo MyISAM su questo sito, non perch lo preferisca ma perch ho cominciato proprio con quello ed al tempo non c’era alternativa.

    So cmq se ti pu aiutare che google utilizza la tecnologia di innoDB molto massicciamente :)

  3. Giusto per confermare la bravura dei programmatori di MySQL, nella versione 5, disponibile dal 24 ottobre, le subquery sono state implementate.
    Comunque per velocizzare la query, ti consiglierei di ricorrere ad una vista o magari a una stored procedure, entrambe supportate da questa versione del software.
    Un’unica nota: mysql 5 non gratis, ma viene distribuito sotto due tipologie di licenza: GPL e commerciale.

  4. io adoro MySql :)

    c’ da dire cmq si evoluto tantissimo dalla versione 3 anche gretione dei dati, grazie dell’apporto cryo