sql >> Databáze >  >> RDS >> Mysql

MySQL nejlepší způsob, jak ukládat dlouhé řetězce

Obecně řečeno, toto není otázka, která má „správnou“ odpověď. V MySQL neexistuje žádný typ úložiště textu „nekonečné délky“. Můžete použít LONGTEXT , ale to má stále (absurdně vysokou) horní hranici. Pokud to však uděláte, nakopáte své DBMS do zubů za to, že se musí vypořádat s tou absurdní skvrnou sloupce pro váš 50znakový text. Nemluvě o tom, že s tím skoro nic nenaděláte.

Takže nejvíce futureproofness(TM) pravděpodobně nabízí LONGTEXT . Ale je to také velmi špatný způsob řešení problému. Upřímně, přehodnotil bych požadavky aplikace. Ukládání řetězců, které nemají žádnou „doménu“ (jako v případě, že jsou dobře definované ve své aplikaci) a libovolnou délku, není jednou ze silných stránek RDBMS.

Pokud bych to chtěl vyřešit na úrovni „návrhu aplikace“, použil bych pro to úložiště klíč-hodnota NoSQL (a jsem tak anti-NoSQL-hype, jak se dá, takže víte, že je to vážné), dokonce i když uznávám, že je to dost drahá změna na tak malou změnu. Ale pokud je to náznak toho, co vaše DBMS nakonec bude obsahovat, mohlo by být prozíravější přejít nyní, abyste se v budoucnu vyhnuli stejnému problému stokrát. Datová doména je v RDBMS velmi důležitá, zatímco v nerelačních řešeních je výslovně odsunuta na vedlejší kolej, což se zdá být to, co se zde snažíte vyřešit.

Zasekli jste se u MySQL? Stačí jej zvýšit na VARCHAR(1000) . Pokud nemáte žádné požadavky na svá data, je stejně irelevantní, co děláte.



  1. Jak vložit/aktualizovat větší velikost dat v tabulkách Oracle?

  2. 4 způsoby, jak zjistit, jaké sloupce budou vráceny uloženou procedurou na serveru SQL

  3. MySQL Otázka ohledně plánování

  4. Proč MySQL používá nesprávný index?