Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách tốt nhất để Chèn dữ liệu JSON vào MYSQL

Một số nhận xét đã đề xuất để nó ở định dạng JSON và lưu trữ nó trong một cột văn bản.

Tôi khuyên rằng nếu bạn có quyền kiểm soát lược đồ của mình, bạn nên lưu trữ nó trong hai NUMERIC các trường - một cho vĩ độ và một cho kinh độ. Về cơ bản, đó là dữ liệu bạn có. Thực tế là bạn đã nhận được nó bằng cách sử dụng JSON làm định dạng vùng chứa không liên quan đến bản thân dữ liệu.

Nếu bạn lưu trữ nó dưới dạng vĩ độ và kinh độ, việc truy vấn qua nó sẽ đơn giản hơn và bạn vẫn có thể tạo lại JSON sau này nếu muốn ... nhưng nếu cuối cùng bạn muốn tìm nạp nó thì không với tư cách là JSON, bạn sẽ ở một vị trí tốt hơn nhiều để làm như vậy. Điều đó cũng có nghĩa là bạn không ràng buộc mình với JSON để chống lại những thay đổi trong tương lai.

Cá nhân tôi nghĩ rằng luôn luôn là một ý kiến ​​hay nếu bạn tách bản chất bên trong của dữ liệu ra khỏi cách bạn tiếp nhận nó. Lưu trữ dữ liệu ở bất kỳ định dạng nào là thành ngữ cho bộ lưu trữ đó - vì vậy nếu bạn đang lưu trữ một số, hãy sử dụng một trong các kiểu dữ liệu số. Nếu bạn đang lưu trữ ngày và giờ, hãy sử dụng datetime , v.v. Bằng cách đó, bạn sẽ không có thêm một lớp giữa bạn và chính dữ liệu mỗi khi bạn muốn truy cập.

Cách tiếp cận này cũng có nghĩa là bạn có nhiều khả năng phát hiện ra dữ liệu xấu sớm hơn - nếu bạn chỉ lưu trữ trực tiếp JSON mà không phân tích cú pháp trước, bạn có thể sau thấy rằng vĩ độ hoặc kinh độ không phải là một số hợp lệ. Rất tiếc, thực tế là dữ liệu mẫu của bạn đôi khi có lon và đôi khi có lng gợi ý rằng bạn nên thực hiện một số thao tác dọn dẹp dữ liệu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLSTATE [HY000] [2002] Cố gắng kết nối không thành công .. - Khi cố gắng kết nối từ Máy chủ cục bộ đến máy chủ từ xa

  2. cách Chọn sinh nhật 7 ngày trước hôm nay trong mysql

  3. Cách giải quyết cảnh báo mysql:InnoDB:page_cleaner:Vòng lặp dự định 1000ms mất XXX ms. Cài đặt có thể không tối ưu?

  4. Win7 MInGW QT Chương trình MySQL kêu gào không tìm thấy -lqsqlmysqld; thư viện bị mất tích ở đâu?

  5. mysql sửa ngày không hợp lệ