sql >> Base de Datos >  >> RDS >> Mysql

MySQL mejor manera de almacenar cadenas largas

En términos generales, esta no es una pregunta que tenga una respuesta "correcta". No hay un tipo de almacenamiento de texto de "longitud infinita" en MySQL. Podrías usar LONGTEXT , pero eso todavía tiene un límite superior (absurdamente alto). Sin embargo, si lo hace, está pateando su DBMS en los dientes por tener que lidiar con esa gota absurda de una columna para su texto de 50 caracteres. Sin mencionar el hecho de que casi no haces nada con él.

Por lo tanto, LONGTEXT probablemente ofrezca la mayor parte de futureproofness(TM). . Pero también es un método muy malo para resolver el problema. Honestamente, revisaría los requisitos de la solicitud. Almacenar cadenas que no tienen un "dominio" (es decir, estar bien definidas en su aplicación) y una longitud arbitraria no es uno de los puntos fuertes de RDBMS.

Si quisiera resolver esto en el nivel de "diseño de la aplicación", usaría el almacén de clave-valor NoSQL para esto (y soy tan anti-NoSQL-hype como ellos, así que sabes que es serio), incluso aunque reconozco que es un cambio bastante caro para un cambio tan pequeño. Pero si esto es una indicación de lo que finalmente va a contener su DBMS, podría ser más prudente cambiar ahora para evitar este mismo problema cien veces en el futuro. El dominio de datos es muy importante en RDBMS, mientras que se deja de lado explícitamente en soluciones no relacionales, que parece ser lo que está tratando de resolver aquí.

¿Atascado con MySQL? Simplemente auméntelo a VARCHAR(1000) . Si no tiene requisitos para sus datos, es irrelevante lo que haga de todos modos.