Trong MySQL 5.7, kiểu dữ liệu mới để lưu trữ JSON data in MySQL bảng đã được thêm . Nó rõ ràng sẽ là một thay đổi lớn trong MySQL. Họ liệt kê một số lợi íchHỗ trợ JSON gốc trong MYSQL 5.7: những ưu và khuyết điểm của kiểu dữ liệu JSON trong MYSQL là gì?
Document Validation - Chỉ tài liệu JSON hợp lệ có thể được lưu trữ trong một JSON cột , vì vậy bạn sẽ có được xác nhận tự động các dữ liệu của bạn.
Truy cập hiệu quả - Quan trọng hơn, khi bạn lưu trữ tài liệu JSON trong cột JSON, nó không được lưu trữ dưới dạng giá trị văn bản thuần túy. Thay vào đó, nó được lưu trữ ở định dạng nhị phân được tối ưu hóa cho phép truy cập nhanh hơn vào đối tượng thành viên và phần tử mảng.
Hiệu suất - Cải thiện truy vấn của bạn hiệu suất bằng cách tạo chỉ mục trên các giá trị trong cột JSON. Điều này có thể đạt được với “chỉ số chức năng” trên cột ảo.
Thuận tiện - Cú pháp nội tuyến bổ sung cho cột JSON làm cho nó rất tự nhiên để tích hợp truy vấn tài liệu trong SQL của bạn. Ví dụ: ví dụ (features.feature là cột JSON):
SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254;
WOW! chúng bao gồm một số tính năng tuyệt vời. Bây giờ nó dễ dàng hơn để thao tác dữ liệu. Bây giờ có thể lưu trữ dữ liệu phức tạp hơn trong cột. Vì vậy, MySQL hiện có hương vị với NoSQL.
Bây giờ tôi có thể tưởng tượng một truy vấn cho dữ liệu JSON cái gì đó như
SELECT * FROM t1
WHERE JSON_EXTRACT(data,"$.series") IN
(
SELECT JSON_EXTRACT(data,"$.inverted")
FROM t1 | {"series": 3, "inverted": 8}
WHERE JSON_EXTRACT(data,"$.inverted")<4);
Vì vậy, tôi không bao giờ nghĩ đến một cấu trúc giản đồ phức tạp và các phím nước ngoài trong MySQL. Tôi lưu trữ các mối quan hệ phức tạp chỉ bằng một vài bảng. Liệu nó có tốt không? Nó có phá vỡ bình thường không. Nếu điều này là có thể thì tôi đoán nó sẽ hoạt động như NoSQL trong cột MySQL. Tôi thực sự muốn biết thêm về tính năng này. Ưu điểm và nhược điểm của kiểu dữ liệu JSON JSON.
oh xin đừng nói những gì tôi nghĩ rằng bạn đang nói. [Ở đây, đọc này] (http://stackoverflow.com/a/32620163).Của bạn là một biến thể khác trên một ý tưởng tồi. – Drew
@Drew Bạn đã đưa ra một câu trả lời lớn. Nhưng nó không phải là câu hỏi của tôi. Tôi chỉ muốn biết rằng nếu chúng ta viết một truy vấn cho dữ liệu json thì chúng ta có thể bỏ qua các quy tắc sql. beacuse chúng tôi không cần nhiều bảng – Imran
bạn nói 'Bây giờ có thể lưu trữ dữ liệu phức tạp hơn trong cột'. Hãy cẩn thận – Drew