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

Hiệu suất:Truy vấn con hoặc tham gia

Các RDBM hiện đại, bao gồm cả Oracle, tối ưu hóa hầu hết các phép nối và truy vấn phụ xuống cùng một kế hoạch thực thi.

Do đó, tôi sẽ tiếp tục và viết truy vấn của bạn theo cách đơn giản nhất cho bạn và tập trung vào việc đảm bảo rằng bạn đã tối ưu hóa hoàn toàn các chỉ mục của mình.

Nếu bạn cung cấp truy vấn cuối cùng và lược đồ cơ sở dữ liệu của mình, chúng tôi có thể đưa ra các đề xuất chi tiết, bao gồm thông tin về các vấn đề khóa tiềm ẩn.

Chỉnh sửa

Dưới đây là một số mẹo chung áp dụng cho truy vấn của bạn:

  • Đối với các phép kết hợp, hãy đảm bảo rằng bạn có một chỉ mục trên các cột mà bạn đang tham gia. Đảm bảo áp dụng một chỉ mục cho các cột được kết hợp trong cả hai bảng. Bạn có thể nghĩ rằng bạn chỉ cần lập chỉ mục theo một hướng, nhưng bạn nên lập chỉ mục cả hai, vì đôi khi cơ sở dữ liệu xác định rằng tốt hơn nên kết hợp theo hướng ngược lại.
  • Đối với mệnh đề WHERE, hãy đảm bảo rằng bạn có chỉ mục trên các cột được đề cập trong WHERE.
  • Để chèn nhiều hàng, tốt nhất là bạn có thể chèn tất cả chúng trong một truy vấn.
  • Để chèn trên bảng có chỉ mục được phân nhóm, tốt nhất là bạn nên chèn các giá trị tăng dần cho chỉ mục được phân nhóm để các hàng mới được nối vào cuối dữ liệu. Điều này tránh xây dựng lại chỉ mục và thường tránh các khóa trên các bản ghi hiện có, điều này sẽ làm chậm các truy vấn CHỌN đối với các hàng hiện có. Về cơ bản, việc chèn trở nên ít gây khó chịu hơn cho những người dùng khác của hệ 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. Tạo trình kích hoạt trên Oracle từ một người dùng lắng nghe các sự kiện cho một người dùng khác

  2. Làm thế nào để thực hiện oracle TNSPING với java?

  3. Tạo bộ hẹn giờ trong Oracle Forms / Forms 6i và hiển thị đồng hồ

  4. Có kiểu boolean nào trong cơ sở dữ liệu Oracle không?

  5. Oracle CLOB không thể chèn quá 4000 ký tự?