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

Най-добрият начин за вмъкване на JSON данни в MYSQL

Някои коментари предлагаха да го оставите във формат JSON и да го съхраните в текстова колона.

Бих предложил, ако имате контрол върху вашата схема, трябва да я съхранявате в две NUMERIC полета - едно за географска ширина и едно за дължина. По принцип това са данните, с които разполагате. Фактът, че сте го получили, използвайки JSON като формат на контейнер, е без значение за самите данни.

Ако го съхраните като географска ширина и дължина, е по-лесно да направите заявка над него и пак можете да пресъздадете JSON по-късно, ако искате... но ако в крайна сметка искате да го извлечете не като JSON, вие ще бъдете в много по-добра позиция да го направите. Това също означава, че не се обвързвате с JSON срещу бъдещи промени.

Лично аз смятам, че винаги е добра идея мислено да отделите вътрешното естество на данните от начина, по който случайно ги получавате. Съхранявайте данните във формат, който е идиоматичен за това съхранение - така че ако съхранявате число, използвайте един от типовете числови данни. Ако съхранявате дата и час, използвайте datetime и т.н. По този начин няма да имате допълнителен слой между вас и самите данни всеки път, когато искате да получите достъп до тях.

Този подход също така означава, че е много по-вероятно да забележите лоши данни рано – ако просто съхранявате JSON директно, без първо да го анализирате, можете по-късно установете, че географската ширина или дължина не е валидно число. По дяволите, фактът, че вашите примерни данни понякога имат lon и понякога има lng предполага, че все пак трябва да изчистите данните.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обектът от клас DateTime не може да бъде преобразуван в низ

  2. Разлики между MySQL и SQLite в SQL

  3. Изтриване на милиони редове в MySQL

  4. съхраняване на mp3 файлове в mysql

  5. Защо целите числа в кортежа от редове в базата данни имат суфикс 'L'?