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

    [MYSQL] Ottimizzare variabili

    Salve a tutti, eccomi di nuovo qua, questa volta vi chiedo aiuto su come ottimizzare il tipo di variabili presenti nel database! Ciò che mi interessa è prima di tutto minimizzare lo spazio occupato e successivamente ottimizzare la velocità. Ecco le variabili:

    1) variabile che può assumere valori da 0 a 100: secondo voi va bene TINYINT??
    2) variabile che contiene 8 caratteri di testo: CHAR(8)?
    3) variabile che contiene da 5 a 10 caratteri: VARCHAR(10)?
    4) variabile che contiene valori da -10.0 a +50.9: qui non saprei se usare float oppure decimal..
    5) come il punto 4 solo che ho il range 800.0 a 1050.9
    6) come punto quattro ma da 0.0 a 3000.9

    Cosa ne pensate voi?? Grazie mille!!!

    PS devo contenere dati meteorologici quindi temperatura, umidità, pressione, ecc ecc
    Gianfranco

  2. #2
    Invece per l'inidice??? Come valore è settato su INT(11). Con 28.000 record pesa 289 kiB, mentre tutta la tabella pesa 1.516 Kib... E' possibile far dimagrire pure lui? Considerate che ogni giorno posso aggiungere circa 5000 record....

    grazie mille!!
    Gianfranco

  3. #3
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da GianfrancoPa
    Salve a tutti, eccomi di nuovo qua, questa volta vi chiedo aiuto su come ottimizzare il tipo di variabili presenti nel database! Ciò che mi interessa è prima di tutto minimizzare lo spazio occupato e successivamente ottimizzare la velocità. Ecco le variabili:

    1) variabile che può assumere valori da 0 a 100: secondo voi va bene TINYINT??

    2) variabile che contiene 8 caratteri di testo: CHAR(8)?

    3) variabile che contiene da 5 a 10 caratteri: VARCHAR(10)?

    4) variabile che contiene valori da -10.0 a +50.9: qui non saprei se usare float oppure decimal..
    Se ha un decimale ovviamente decimal, altrimenti entri nel dramma del floating point
    5) come il punto 4 solo che ho il range 800.0 a 1050.9
    6) come punto quattro ma da 0.0 a 3000.9
    Stessa cosa

    Originariamente inviato da GianfrancoPa
    Invece per l'inidice??? Come valore è settato su INT(11). Con 28.000 record pesa 289 kiB, mentre tutta la tabella pesa 1.516 Kib... E' possibile far dimagrire pure lui? Considerate che ogni giorno posso aggiungere circa 5000 record....

    grazie mille!!
    E' già l'indice di dimensione minima.
    Dipende però essenzialmente se usi myisam o innodb, hanno gestioni assai diverse.
    Quella minima (più piccola) è myisam, ma manca la gestione delle transazioni ed ha un livello di sicurezza decisamente più basso.
    Tuttavia se lo usi per aggiungere in coda dati myisam ha una funzione apposita, il che lo rende estremamente performante.
    5000 record al giorno sono comunque nulla per una macchina moderna, e meno di nulla per una vagamente seria.

  4. #4
    Grazie mille, corro ad ottimizzare le variabili... ad eccezione dell'indice, mi sa che è meglio non toccarlo....

    Quindi pensi che aruba per 5000 record al giorno non mi uccida?? Le query più difficili vengono richiamate solo ogni tanto, ma al 99% sono inserimento dei dati nella tabella...

    A che ci siamo, sempre su Aruba, quanti record posso inserire al massimo nel database??? al ritmo di 5000 al giorno si capisce bene che nel tempo si va a finire lontano...

    Grazie mille per i preziosi consigli!!
    Gianfranco

  5. #5
    per le questioni specifiche di Aruba, credo onestamente che sia il caso di chiedere direttamente a loro

  6. #6
    per il varchar meglio precisare che un paio di byte servono per definire la lunghezza e che non tutti i caratteri usano un byte. Quindi per 10 caratteri meglio varchar(20)

    Stesso discorso per char.

    Un campo INT e' di 4 byte (dimensione fissa) e puo' contenere oltre 4 miliardi di record.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da piero.mac
    per il varchar meglio precisare che un paio di byte servono per definire la lunghezza e che non tutti i caratteri usano un byte. Quindi per 10 caratteri meglio varchar(20)
    Non direi affatto

  8. #8
    Originariamente inviato da franzauker2.0
    Non direi affatto
    che bello essere pieni di certezze e di verita'.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    in mysql non esiste il tipo Nvarchar per i caratteri estesi?

  10. #10
    Originariamente inviato da optime
    in mysql non esiste il tipo Nvarchar per i caratteri estesi?
    No.

    PS.: Ciao, era un po' che non frequentavo il forum. Mi hanno ricordato il perche'...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.