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

Làm thế nào để bạn giải thích kế hoạch giải thích của một truy vấn?

Tôi rùng mình bất cứ khi nào tôi nhìn thấy các bình luận rằng toàn bộ bảng là xấu và truy cập chỉ mục là tốt. Quét toàn bộ bảng, quét phạm vi chỉ mục, quét chỉ mục đầy đủ nhanh, vòng lặp lồng nhau, kết hợp hợp nhất, liên kết băm, v.v. chỉ đơn giản là cơ chế truy cập mà người phân tích phải hiểu và kết hợp với kiến ​​thức về cấu trúc cơ sở dữ liệu và mục đích của truy vấn trong để đạt được bất kỳ kết luận có ý nghĩa nào.

Quét toàn bộ chỉ đơn giản là cách hiệu quả nhất để đọc một tỷ lệ lớn các khối của phân đoạn dữ liệu (bảng hoặc phân vùng bảng (con)) và, mặc dù nó thường có thể chỉ ra một vấn đề về hiệu suất, nhưng điều đó chỉ xảy ra trong ngữ cảnh về việc liệu nó có phải là một cơ chế hiệu quả để đạt được các mục tiêu của truy vấn hay không. Nói như một kho dữ liệu và anh chàng BI, cờ cảnh báo số một của tôi về hiệu suất là một phương pháp truy cập dựa trên chỉ mục và một vòng lặp lồng nhau.

Vì vậy, đối với cơ chế của cách đọc một gói giải thích, tài liệu Oracle là một hướng dẫn tốt:http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/ex_plan.htm#PFGRF009

Hãy đọc kỹ Hướng dẫn Điều chỉnh Hiệu suất.

Cũng có google cho "phản hồi về bản số", một kỹ thuật trong đó một kế hoạch giải thích có thể được sử dụng để so sánh các ước tính về bản số ở các giai đoạn khác nhau trong một truy vấn với các bản số thực tế đã trải qua trong quá trình thực thi. Tôi tin rằng Wolfgang Breitling là tác giả của phương pháp này.

Vì vậy, điểm mấu chốt:hãy hiểu cơ chế truy cập. Hiểu cơ sở dữ liệu. Hiểu ý định của truy vấn. Tránh các quy tắc thông thường.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Di chuyển Cơ sở dữ liệu Oracle từ AWS EC2 sang AWS RDS, Phần 3

  2. Cách tạo dấu vết FRD trong Oracle Apps 11i / R12

  3. Chọn giá trị nhỏ nhất thứ hai trong Oracle

  4. Làm cách nào để sử dụng các biến trong Oracle SQL Developer?

  5. ORA-28040:Không có ngoại lệ giao thức xác thực phù hợp