Oracle
Chỉ mục của không bao giờ "không cân bằng":mọi lá trong chỉ mục đều ở cùng độ sâu với bất kỳ lá nào khác.
Không có phần tách trang nào tự nó giới thiệu một cấp độ mới:một trang lá không trở thành trang gốc cho các trang mới giống như nó sẽ ở trên một cây không tự cân bằng.
Thay vào đó, một phần anh chị em cho trang tách được tạo và bản ghi mới (cộng với có thể một số bản ghi từ trang cũ) sẽ chuyển sang trang mới. Một con trỏ đến trang mới được thêm vào trang chính.
Nếu trang mẹ cũng hết dung lượng (không thể chấp nhận con trỏ đến trang lá mới được tạo), nó cũng bị tách, v.v.
Các phần tách này có thể lan truyền đến trang gốc, phần tách là thứ duy nhất làm tăng độ sâu chỉ mục (và làm điều đó cho tất cả các trang cùng một lúc).
Các trang chỉ mục được tổ chức bổ sung thành các danh sách liên kết đôi, mỗi danh sách ở cấp độ riêng của nó. Điều này sẽ không thể thực hiện được nếu cây không cân đối.
Nếu master_id
được tự động tăng lên, điều này có nghĩa là tất cả các phần tách xảy ra ở cuối (chẳng hạn như 90/10
tách) để tạo chỉ mục dày đặc nhất có thể.
Không, sẽ không, vì những lý do trên.
Nếu bạn tham gia slave
thành master
thông thường, bạn có thể cân nhắc tạo CLUSTER
trong số hai bảng, được lập chỉ mục bởi master_id
. Điều này có nghĩa là các bản ghi từ cả hai bảng, chia sẻ cùng một master_id
, chuyển đến các trang dữ liệu giống nhau hoặc gần đó giúp kết nối giữa chúng rất nhanh.
Khi công cụ tìm thấy bản ghi từ master
, với một chỉ mục hoặc bất cứ thứ gì, điều này cũng có nghĩa là nó đã tìm thấy các bản ghi từ slave
được kết hợp với master
đó . Và ngược lại, định vị slave
cũng có nghĩa là định vị master
của nó .