Dimensione massima VARCHAR in MySql?

Sarei curioso di sapere qual'è la dimensione massima (max size) per il tipo VARCHAR per un datatabase MySQL.

Ho letto che il limite max di dimensioni per una riga (row) è di circa 65k. Ho cercato di settare il campo come varchar(20000), ma ho ricevuto il messaggio che dice che è troppo largo. Qual'è allora l'esatta o meglio la massima dimensione per il tipo VARCHAR?

In Corso 5
MySql 10-09-2019 2 Risposte 2085 Visite +3

Risposte ( 2 approvate )

  1. Giacomo Barrile
    +2
    10-09-2019 18:40:29
    Rispondi

    La lunghezza massima del tipo varchar è soggetta al limite max di riga (row) previsto per MySQL, il quale è di 64Kb (non considerando in questo limite i BLOBs ed i TEXT).

     

    Se tu provi a settare VARCHAR(65535) devi considerare comunque che questo non è il valore massimo, o il numero massimo di caratteri ammissibili, il limite sarà molto probabilmente più basso poiché ad esempio stai utilizzando un insieme di caratteri (charset) multi-byte come ad es: VARCHAR(21844) CHARACTER SET utf8

  2. Michele Brughese
    +1
    10-09-2019 18:49:54
    Rispondi

    La rappresentazione interna di una tabella MySQL ha un limite di dimensione massima di riga (row) di 65,535 bytes (65Kb), a questi devi escludere i tipi BLOB e TEXT poiché le colonne definite con questi tipi particolari occupano dai 9 ai 12 bytes, perchè il loro contenuto (data) sono memorizzate separatamente dal resto delle altre righe.

     

    Le colonne dichiarate come VARCHAR sono stringhe di lunghezza variabile. La lunghezza massima per ogni campo (colonna) può essere specificata con un valore interdo che va da 0 a 255 sino alla versione MySQL 5.0.3, e da 0 a 65,535 per le versioni successive. L'effettiva lunghezza massima di un VARCHAR in MySQL è soggetta al maximum row size (65,535 bytes) e dal set di caratteri (character set) usato.

     

    Se la tua necessità è quella di superare il limite max di dimensione rappresentabile con un VARCHAR, ti consiglio di usare un tipo TEXT.

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

Gaspare Buturrà

Gaspare Buturrà

Autore di questa domanda

 Domanda Precedente

 Elenco Domande 

Domanda Successiva