Trong MySQL 5.7, một kiểu dữ liệu mới để lưu trữ dữ liệu JSON trong các bảng MySQL đã được thêm vào. Nó rõ ràng sẽ là một thay đổi lớn trong MySQL. Họ liệt kê một số lợi ích
Xác thực tài liệu - Chỉ các tài liệu JSON hợp lệ mới có thể được lưu trữ trong cột JSON, vì vậy, bạn có thể tự động xác thực dữ liệu của mình.
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 tối ưu hóa cho phép truy cập nhanh hơn vào các thành viên đối tượng và các phần tử mảng.
Hiệu suất - Cải thiện hiệu suất truy vấn của bạn bằng cách tạo chỉ mục trên các giá trị trong các cột JSON. Điều này có thể đạt được với "chỉ mục chức năng" trên các cột ảo.
Thuận tiện - Cú pháp nội tuyến bổ sung cho các cột JSON làm cho việc tích hợp các truy vấn Tài liệu trong SQL của bạn trở nên rất tự nhiên. Ví dụ: features.feature là một 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ữ nhiều dữ liệu phức tạp hơn trong cột. Vì vậy, MySQL bây giờ có hương vị với NoSQL.
Bây giờ tôi có thể hình dung một truy vấn cho dữ liệu JSON giống 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 có thể lưu trữ các quan hệ nhỏ rất lớn trong vài json colum không? Liệu nó có tốt không? Nó có phá vỡ bình thường hóa không. Nếu điều này là có thể thì tôi đoán nó sẽ hoạt động giống như NoSQL trong một cột MySQL . Tôi thực sự muốn biết thêm về tính năng này. Ưu nhược điểm của kiểu dữ liệu MySQL JSON.
Now it is possible to store more complex data in column
. Hãy cẩn thận