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

Các ràng buộc khóa ngoại có ảnh hưởng đến việc chuyển đổi truy vấn trong Oracle không?

Có, có các ràng buộc khóa ngoại tại chỗ có thể cải thiện hiệu suất truy vấn. Có nhiều biến đổi khác nhau được mở cho trình tối ưu hóa khi tồn tại các ràng buộc khóa ngoại thích hợp mà thường không có sẵn. Ví dụ:nếu bạn tham gia AB nhưng chỉ chọn dữ liệu từ B , trình tối ưu hóa có thể loại bỏ A hoàn toàn từ kế hoạch truy vấn nếu có một ràng buộc khóa ngoại tại chỗ (loại điều này rất hữu ích khi bạn có các dạng xem hữu ích tham gia vào nhiều bảng hơn truy vấn hiện tại của bạn một cách nghiêm ngặt vì bạn không phải đánh đổi chi phí hiệu suất của các phép nối bổ sung so với việc sử dụng lại mã từ chế độ xem hiện có). Chúng cũng rất hữu ích khi bạn đang làm những việc như sử dụng những thứ như ghi lại truy vấn để viết lại truy vấn nhằm sử dụng chế độ xem cụ thể hóa trong kho dữ liệu / hệ thống loại DSS.

Tom Kyte có bản trình bày Các vấn đề siêu dữ liệu nói về cách các loại ràng buộc khác nhau, cùng với các phần siêu dữ liệu khác, có thể ảnh hưởng đến trình tối ưu hóa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo DMZ cho EBS R12

  2. Các thay đổi của Oracle Ace

  3. Chạy Tổng số theo Nhóm SQL (Oracle)

  4. Làm thế nào để sử dụng enums trong Oracle?

  5. Truy vấn con đệ quy với sắp xếp