Luôn chú ý đánh index trên khoá ngoại để tối ưu các thao tác cho bảng cha và không bị lock trên bảng cha khi thao tác trên bảng con mà chưa thực hiện commit hay rollback.
Việc tạo chỉ mục (index) cho khóa ngoại trong cơ sở dữ liệu mang lại nhiều lợi ích, chủ yếu liên quan đến hiệu suất và toàn vẹn dữ liệu. Dưới đây là các tác dụng cụ thể:
1. Tăng tốc độ truy vấn
- Cải thiện hiệu suất JOIN: Khi các truy vấn sử dụng phép JOIN giữa các bảng dựa trên khóa ngoại, chỉ mục giúp truy vấn nhanh hơn bằng cách giảm thời gian tìm kiếm bản ghi liên quan.
- Tăng tốc các truy vấn SELECT: Các truy vấn SELECT sử dụng khóa ngoại trong các điều kiện WHERE sẽ được thực hiện nhanh hơn nhờ chỉ mục.
2. Tăng hiệu suất kiểm tra ràng buộc
- Kiểm tra toàn vẹn dữ liệu: Chỉ mục giúp cơ sở dữ liệu kiểm tra và duy trì ràng buộc khóa ngoại một cách hiệu quả hơn. Khi một bản ghi được thêm vào hoặc cập nhật, cơ sở dữ liệu cần xác nhận rằng giá trị của khóa ngoại tồn tại trong bảng tham chiếu. Chỉ mục giúp tăng tốc quá trình này.
3. Giảm xung đột và khóa bảng
- Giảm xung đột: Khi có nhiều truy vấn cạnh tranh truy cập cùng một bảng, chỉ mục trên khóa ngoại giúp giảm xung đột và khóa bảng bằng cách tối ưu hóa việc truy cập và tìm kiếm bản ghi.
4. Tăng khả năng mở rộng và hiệu suất hệ thống
- Hỗ trợ hệ thống lớn: Trong các hệ thống có lượng dữ liệu lớn và nhiều người dùng truy cập đồng thời, chỉ mục trên khóa ngoại giúp duy trì hiệu suất ổn định và tăng khả năng mở rộng.
5. Tăng tốc các thao tác DML liên quan đến khóa ngoại
- DELETE và UPDATE: Khi xóa hoặc cập nhật bản ghi, cơ sở dữ liệu cần kiểm tra các ràng buộc khóa ngoại để đảm bảo không có vi phạm. Chỉ mục giúp tăng tốc quá trình này bằng cách tìm kiếm các bản ghi liên quan nhanh chóng.
Xem thêm:
- Q136. Examine this configuration: PDB1 and PDB2 are pluggable databases in CDB1. You execute these commands successfully
- Khắc phục lỗi version mismatch pg_restore Postgresql
- Q6 After successfully performing all the pre-upgrade tasks, you execute these commands from the Oracle Database 18c environment
- Q31. Which two are true about duplicating pluggable databases (PDBs) with RMAN?
- Q64. Examine this configuration