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

Hiệu suất của các chức năng MySql Xml?

Tôi có xu hướng đưa ra những nhận xét tương tự như của Pekka, nhưng tôi nghĩ lý do khiến chúng ta không thể cười nhạo điều này là tuyên bố của bạn "Tuy nhiên, thông tin này có thể khác nhau rất nhiều." Điều đó có nghĩa là không thực tế khi có kế hoạch phân tích cú pháp tất cả và chiếu vào cơ sở dữ liệu.

Tôi không thể trả lời tất cả các câu hỏi của bạn, nhưng tôi có thể trả lời một số câu hỏi trong số đó.

Đáng chú ý nhất là tôi không thể cho bạn biết về hiệu suất trên MySQL. Tôi đã thấy nó trong SQL Server, đã kiểm tra nó và nhận thấy rằng SQL Server thực hiện trong việc trích xuất XML trong bộ nhớ rất chậm, đối với tôi nó có vẻ như thể nó đang đọc từ đĩa, nhưng điều đó hơi cường điệu. Những người khác có thể tranh chấp điều này, nhưng đó là những gì tôi tìm thấy.

"Mysql có thể thay thế cơ sở dữ liệu hướng tài liệu như CouchDB / Sesame không?" Câu hỏi này hơi rộng nhưng trong trường hợp của bạn khi sử dụng MySQL cho phép bạn duy trì tuân thủ ACID cho các phần XML này, giả sử bạn đang sử dụng InnoDB, điều này không thể tự động nói đối với một số cơ sở dữ liệu hướng tài liệu.

"Làm thế nào và tại sao chúng tốt hơn / tệ hơn một ứng dụng động lưu trữ các dữ liệu khác nhau dưới dạng thuộc tính?" Tôi nghĩ đây thực sự là một vấn đề của phong cách. Bạn được cung cấp các phần XML đã được (có lẽ) được lập thành tài liệu và MySQL có thể điều hướng chúng. Nếu bạn chỉ giữ chúng như vậy, bạn sẽ tiết kiệm được một bước. Bạn sẽ thu được gì khi chuyển đổi chúng sang thứ khác?

Các tài liệu MySQL gợi ý rằng tệp XML sẽ đi vào trường clob. Hiệu suất có thể bị ảnh hưởng trên các tài liệu lớn hơn. Có lẽ khi đó bạn sẽ xác định được các tài liệu con mà bạn muốn thường xuyên tách ra và đưa vào bảng con.

Cùng những dòng này, nếu có những tài liệu phụ cụ thể mà bạn biết rằng bạn sẽ muốn biết, bạn có thể tạo một bảng con, "HasDocs", thực hiện một chút xử lý trước và điền vào đó tên của các tài liệu phụ cùng với số đếm. Điều này sẽ giúp phân tích thống kê nhanh hơn và cũng giúp tìm tài liệu có các tài liệu phụ nhất định nhanh hơn.

Ước gì tôi có thể nói nhiều hơn, hy vọng điều này sẽ hữu ích.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng câu lệnh PDO nhiều lần khi sử dụng nhiều vòng lặp foreach

  2. làm thế nào để đếm các giá trị ngang trên cơ sở dữ liệu?

  3. Làm cách nào để đặt các kết quả truy vấn MYSQL THEO điều kiện ORDER BY?

  4. Mysql INSTR như hoạt động trong mongodb

  5. đối số được phân tách bằng dấu phẩy cho toán tử IN, MySQL