Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL най-добрият начин за съхранение на дълги низове

Най-общо казано, това не е въпрос, който има "правилен" отговор. В MySQL няма тип съхранение на текст с "безкрайна дължина". Можете да използвате LONGTEXT , но това все още има (абсурдно висока) горна граница. И все пак, ако го направите, ритате своята СУБД в зъбите, че трябва да се справяте с това абсурдно петно ​​от колона за вашия 50-знаков текст. Да не говорим за факта, че почти нищо не правиш с него.

Така че, най-голяма устойчивост на бъдещето (TM) вероятно се предлага от LONGTEXT . Но това също е много лош метод за решаване на проблема. Честно казано, бих преразгледал изискванията за кандидатстване. Съхраняването на низове, които нямат „домейн“ (както са добре дефинирани в приложението си) и произволна дължина, не е една от силните страни на RDBMS.

Ако искам да реша това на ниво „дизайн на приложението“, бих използвал NoSQL хранилище ключ-стойност за това (и аз съм толкова анти-NoSQL-hype, колкото и те, така че знаете, че е сериозно), дори въпреки че осъзнавам, че това е доста скъпа промяна за такава малка промяна. Но ако това е индикация за това какво в крайна сметка ще задържи вашата СУБД, може да е по-разумно да превключите сега, за да избегнете същия проблем стотици пъти в бъдеще. Домейнът на данни е много важен в RDBMS, докато в нерелационните решения е изрично отстранен, което изглежда е това, което се опитвате да решите тук.

Заседнал с MySQL? Просто го увеличете до VARCHAR(1000) . Ако нямате изисквания към данните си, така или иначе е без значение какво правите.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. сортирайте сбора в група по

  2. Пренареждане / нулиране на първичния ключ за автоматично увеличение

  3. Групов максимум на определена колона

  4. как да влезете в mysql и да потърсите базата данни от терминала на Linux

  5. Как да използвате етикета goto в съхранената функция на MySQL