2013-12-11 15 views
5

Bảng của tôi chứa gần 40 triệu bản ghi., Với DML.Chỉ mục duy nhất và không độc nhất

Muốn biết một trong những chỉ số duy nhất hoặc không duy nhất này sẽ là lựa chọn tốt hơn để triển khai. Để cung cấp hiệu suất tốt hơn.

Môi trường: Oracle 11g

+0

Tùy thuộc vào yêu cầu của bạn. và loại dữ liệu bạn có trong cột. –

Trả lời

-3

này hoàn toàn phụ thuộc vào loại dữ liệu trong bảng nếu nó có dữ liệu mà tính độc đáo là

cao sau đó sử dụng B-cây sử dụng khác index Bitmap.

14

Nếu có thể, hãy sử dụng chỉ mục duy nhất. Nếu không, hãy sử dụng một chỉ mục không phải duy nhất.

Nói cách khác, nếu bạn có thể sử dụng chỉ mục duy nhất, bạn nên làm như vậy. Nếu có bất kỳ lý do nào tại sao dữ liệu trùng lặp có thể cần được ghi lại, bạn vẫn chưa có lựa chọn.

Nếu chỉ mục được đảm bảo duy nhất, Oracle có thể thực hiện một số tối ưu hóa kế hoạch truy vấn không thể với một chỉ mục không duy nhất - ví dụ, nếu chỉ mục duy nhất được sử dụng để thăm dò một giá trị cụ thể, Oracle có thể ngừng xử lý thêm chỉ mục chặn ngay sau khi tìm thấy kết quả phù hợp.

+0

tôi có một bảng mà trên đó hai cột được tìm kiếm trong điều kiện "và". Một sự kết hợp của 2 giá trị này không thể xảy ra một lần nữa trong bảng, tuy nhiên tôi đã không đưa ra một ràng buộc duy nhất. Sẽ tốt hơn nếu có một chỉ mục duy nhất hoặc không duy nhất trên chúng? –

+0

@RachitGupta: câu trả lời là không khác nhau cho dù bạn có một cột hoặc nhiều cột trong một khóa ứng cử viên. –

Các vấn đề liên quan