Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL il modo migliore per archiviare stringhe lunghe

In generale, questa non è una domanda che ha una risposta "corretta". Non esiste un tipo di archiviazione di testo "a lunghezza infinita" in MySQL. Potresti usare LONGTEXT , ma che ha ancora un limite superiore (assurdamente alto). Eppure, se lo fai, stai prendendo a calci il tuo DBMS nei denti per aver dovuto affrontare quell'assurdo blob di una colonna per il tuo testo di 50 caratteri. Per non parlare del fatto che non ci fai quasi niente.

Quindi, la maggior parte del futuro (TM) è probabilmente offerta da LONGTEXT . Ma è anche un pessimo metodo per risolvere il problema. Onestamente, rivedrei i requisiti dell'applicazione. La memorizzazione di stringhe prive di "dominio" (come essere ben definite nella loro applicazione) e di lunghezza arbitraria non è uno dei punti di forza di RDBMS.

Se volessi risolverlo a livello di "progettazione dell'applicazione", userei l'archivio valori-chiave NoSQL per questo (e sono anti-NoSQL-hype come loro, quindi sai che è serio), anche anche se riconosco che è un cambiamento piuttosto costoso per un cambiamento così piccolo. Ma se questa è un'indicazione di ciò che alla fine il tuo DBMS conterrà, potrebbe essere più prudente cambiare ora per evitare lo stesso problema centinaia di volte in futuro. Il dominio dei dati è molto importante in RDBMS, mentre è esplicitamente messo da parte nelle soluzioni non relazionali, che sembra essere ciò che stai cercando di risolvere qui.

Bloccato con MySQL? Aumentalo a VARCHAR(1000) . Se non hai requisiti per i tuoi dati, è irrilevante quello che fai comunque.