Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara terbaik untuk Memasukkan data JSON ke MYSQL

Beberapa komentar menyarankan untuk membiarkannya dalam format JSON dan menyimpannya di kolom teks.

Saya menyarankan bahwa jika Anda memiliki kendali atas skema Anda, Anda harus menyimpannya dalam dua NUMERIC bidang - satu untuk garis lintang, dan satu untuk garis bujur. Pada dasarnya, itulah data yang Anda miliki. Fakta bahwa Anda menerimanya menggunakan JSON sebagai format penampung tidak relevan dengan data itu sendiri.

Jika Anda menyimpannya sebagai garis lintang dan garis bujur, akan lebih mudah untuk menanyakannya, dan Anda masih dapat membuat ulang JSON nanti jika Anda mau... tetapi jika Anda akhirnya ingin mengambilnya tidak sebagai JSON, Anda akan berada dalam posisi yang jauh lebih baik untuk melakukannya. Ini juga berarti Anda tidak mengikat diri Anda ke JSON terhadap perubahan di masa mendatang.

Secara pribadi saya pikir itu selalu merupakan ide yang baik untuk secara mental memisahkan sifat intrinsik data dari cara Anda menerimanya. Simpan data dalam format apa pun yang idiomatis untuk penyimpanan itu - jadi jika Anda menyimpan nomor, gunakan salah satu tipe data numerik. Jika Anda menyimpan tanggal dan waktu, gunakan datetime , dll. Dengan begitu, Anda tidak akan mendapatkan lapisan tambahan antara Anda dan data itu sendiri setiap kali Anda ingin mengaksesnya.

Pendekatan ini juga berarti Anda lebih mungkin untuk menemukan data yang buruk sejak awal - jika Anda hanya menyimpan JSON secara langsung tanpa menguraikannya terlebih dahulu, Anda dapat nanti temukan bahwa garis lintang atau bujur bukanlah angka yang valid. Heck, fakta bahwa data sampel Anda terkadang memiliki lon dan terkadang memiliki lng menyarankan Anda tetap melakukan pembersihan data.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jika kondisi dalam pernyataan pilih mysql

  2. PostgreSQL setara dengan tabel memori MySQL?

  3. Pertanyaan desain database

  4. Bergabung di meja yang sama lebih dari sekali

  5. Dua indeks kolom tunggal vs satu indeks dua kolom di MySQL?