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

MySQL bedste måde at gemme lange strenge på

Generelt er dette ikke et spørgsmål, der har et "korrekt" svar. Der er ingen "uendelig længde" tekstlagringstype i MySQL. Du kan bruge LONGTEXT , men det har stadig en (absurd høj) øvre grænse. Men hvis du gør det, sparker du dit DBMS i tænderne for at skulle håndtere den absurde klat af en spalte til din tekst på 50 tegn. For slet ikke at tale om, at du næsten ikke gør noget ved det.

Så det meste af fremtidssikkerhed(TM) tilbydes sandsynligvis af LONGTEXT . Men det er også en meget dårlig metode til at løse problemet. Helt ærligt, jeg ville gense ansøgningskravene. Lagring af strenge, der ikke har noget "domæne" (som i, er veldefinerede i deres applikation) og vilkårlig længde er ikke en af ​​styrkerne ved RDBMS.

Hvis jeg ønsker at løse dette på "applikationsdesign"-niveau, ville jeg bruge NoSQL nøgleværdilager til dette (og jeg er så anti-NoSQL-hype, som de bliver, så du ved, det er seriøst), selv selvom jeg erkender, at det er en temmelig dyr ændring for sådan en mindre ændring. Men hvis dette er en indikation af, hvad dit DBMS i sidste ende vil rumme, kan det være mere klogt at skifte nu for at undgå det samme problem hundrede gange i fremtiden. Datadomæne er meget vigtigt i RDBMS, hvorimod det eksplicit er sat på sidelinjen i ikke-relationelle løsninger, hvilket ser ud til at være det, du prøver at løse her.

Sidder du fast med MySQL? Bare øg det til VARCHAR(1000) . Hvis du ikke har nogen krav til dine data, er det alligevel irrelevant, hvad du gør.



  1. SQL Server-markørtyper - Hvad er forskellen mellem LOKAL OG GLOBAL markør | SQL Server Tutorial / TSQL Tutorial

  2. Begrænsninger af SQL Server Express

  3. hvordan sorteres rækkefølgen af ​​LEFT JOIN i SQL-forespørgsel?

  4. Foretrukken metode til lagring af adgangskoder i databasen