Cân nhắc this Oracle tài liệu về chỉ số, this về tốc độ chèn và this câu hỏi về StackOverflow đưa tôi đến kết luận rằng:Làm cách nào và khi nào các chỉ mục được sử dụng trong các hoạt động INSERT và UPDATE?
- Chỉ số giúp chúng ta xác định vị trí thông tin nhanh hơn
- Tiểu học và độc đáo phím được lập chỉ mục tự động
- Chèn bằng chỉ mục có thể gây ra hiệu suất kém hơn
Tuy nhiên, mọi chỉ mục được thảo luận chỉ có SELECT
hoạt động được hiển thị làm ví dụ.
Câu hỏi của tôi là: là các chỉ mục được sử dụng trong các hoạt động INSERT
và UPDATE
? Khi nào và như thế nào?
gợi ý của tôi là:
UPDATE
có thể sử dụng chỉ mục trongWHERE
khoản (nếu cột trong mệnh đề có index)INSERT
có thể sử dụng chỉ số khi sử dụngSELECT
(nhưng trong trường hợp này, chỉ số là từ một bảng)- hoặc có thể khi kiểm tra ràng buộc toàn vẹn
nhưng tôi không có Knowle sâu như vậy dge sử dụng các chỉ mục.
Chỉ mục được sử dụng với các thao tác INSERT và UPDATE nếu bảng có khóa ngoài hoặc các loại ràng buộc khác, chẳng hạn. Bạn thậm chí có thể có một sự kiện TM - tranh cãi khét tiếng nếu bạn không có chỉ mục trên khóa ngoại.Oracle cũng sử dụng các chỉ mục trên các bảng phụ thuộc, không chỉ trên bảng mà bạn đang làm việc. Có rất nhiều tài liệu trên Internet và tài liệu nên tôi không nghĩ rằng có một điểm thảo luận ở đây. – stee1rat
Hãy cẩn thận, một trong các liên kết của bạn (https://docs.oracle.com/cd/E17952_01/refman-5.1-en/insert-speed.html cụ thể) là dành cho mysql chứ không phải Oracle. Tài liệu cho cả hai cơ sở dữ liệu được đặt trên docs.oracle.com, thật dễ gây nhầm lẫn cho chúng. – Timekiller
Cảm ơn câu trả lời của bạn. Tôi biết rằng các chỉ mục không chỉ được sử dụng trên các bảng mà tôi đang làm việc. Có lẽ tôi đã mong đợi một cái gì đó khó khăn hơn phía sau. :) –