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

Quy trình do người dùng xác định với DBMS_STATS, Phần II

Tôi đã có một bài đăng trước đây về các quy trình do người dùng xác định với DBMS_STATS. Sau một số lần đào sâu hơn, tôi xác định cách thức hoạt động của nó. Tôi có một số dữ liệu trong cơ sở dữ liệu của mình được lưu trữ trong Loại do người dùng xác định. Nếu bạn có kiểu do người dùng xác định, bạn có thể liên kết quy trình thu thập số liệu thống kê do người dùng xác định với Giao diện hộp mực dữ liệu Oracle (ODCI). Quy trình ODCIStatsCollect được gọi tự động khi DBMS_STATS được đặt trên bảng có chứa kiểu do người dùng xác định.

Trong trường hợp của tôi, tôi đã theo dõi mức sử dụng CPU cao cho một câu lệnh SQL mà nhà cung cấp ứng dụng bên thứ ba đưa vào quy trình ODCIStatsCollect của họ. Tại thời điểm này, nó chỉ trở thành một vấn đề điều chỉnh truy vấn. Làm thế nào chúng ta có thể viết truy vấn để nó sử dụng ít CPU hơn? Sau khi xem xét vấn đề, tôi đã tìm ra cách dễ nhất là lấy ra truy vấn con và đưa kết quả vào Bảng tạm thời toàn cục. Sau đó, yêu cầu phần còn lại của truy vấn tham gia vào GTT thay vì tham gia vào chính truy vấn con. Bằng cách đó, việc sử dụng CPU đã giảm đáng kể. Tôi đã gửi bản sửa lỗi cho nhà cung cấp ứng dụng và tôi đang chờ xem họ nói gì.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phương pháp dễ nhất để kiểm tra một thủ tục được lưu trữ của Oracle

  2. Tìm kiếm Văn bản trong Quy trình Lưu trữ Oracle

  3. nhận một số giá trị duy nhất mà không cần phân tách các giá trị thuộc cùng một khối giá trị

  4. Hàm LOWER () trong Oracle

  5. Làm thế nào để lưu trữ các ký tự không giới hạn trong Oracle 11g?