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

Lập chỉ mục khi tham gia và ở đâu

Đối với truy vấn này:

Select *
from A join
     B
     on A.id1 = B.id1 and A.id2 = B.id2
where A.year = 2016 and B.year = 2016;

Tôi sẽ đề xuất các chỉ mục trên A(year, id1, id2)B(id1, id2, year) .

Bạn cũng có thể viết truy vấn dưới dạng:

Select *
from A join
     B
     on A.id1 = B.id1 and A.id2 = B.id2 and A.year = B.year
where A.year = 2016;

Câu trả lời cho câu hỏi của bạn là "có" và lập chỉ mục trên B là điều đúng đắn để làm. Trong phiên bản này, thứ tự của các cột trong chỉ mục không thực sự quan trọ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. Hàm JPQL LOWER trong biểu thức IN

  2. Đồng bộ cơ sở dữ liệu Oracle với SQL Azure

  3. Chỉ định con trỏ hàm

  4. Làm cách nào để bạn cài đặt perl DBD ::Oracle trên OSX Snow Leopard 10.6

  5. Lấy dấu thời gian của tệp bằng PL / SQL