Tải bản đầy đủ (.ppt) (17 trang)

Bài giảng Client/Server - Chương 11: Flag (Phần 1) pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (66.3 KB, 17 trang )

Clustered index

(1)



Alternative table structure to heap



Data stored in defined order



Fast lookup through B-tree



Records located through logical RID
create table foo (
first char(100), last char (100), city char (100))
create clustered index foo_c on foo (city)






Clustered index

(2)



R
index tree pages
P

L

P

L

L

P

L

L

L

data pages


Non-clustered index

(1)




A way to provide a different ordering



Define on heaps or clustered indexes



Leaf records contain RID of matching record in base
table



create index foo_nc on foo (last)
create index foo_nc on foo (last) include (first)




Non-clustered index

(2)

R
index tree pages
P

L

P


L

L

P

L

L

L

index leaf pages


Why use an index?


Allows a variety of access modes:






Singleton lookup
Range scan
Allocation order scan


Allows skipping of sort step in query


Singleton lookup

Matching record


Range scan


Allocation-order scan

3

1

5

2

4

6


What causes fragmentation
Index leaf level of newly built index

Red arrow is the allocation order

Black arrows are following the logical order

(1)


What causes fragmentation
Newly built index leaf after a single page split

Red arrow is the allocation order
Black arrows are following the logical order

(2)


What causes fragmentation
Index leaf level after random inserts/deletes

Red arrow is the allocation order
Black arrows are following the logical order

(3)


Logical scan fragmentation


Occurs when the next logical page is not the next
physical page



Extent scan fragmentation


Occurs when the extents in an index are not
contiguous

Index A Index B Index A Index B Index A Index A
1
2
3
4
5
6


Inside INDEXDEFRAG


(1)

Stage 1: Page compaction







Make pages have ‘fullness’ near to original
FILLFACTOR

Operates on leaf level only
Compacts pages by shuffling rows towards
left side of the B-tree
Delete pages made empty


Inside INDEXDEFRAG
Page compaction example

(2)


Inside INDEXDEFRAG


(3)

Stage 2: Page defragment



Make logical order same as allocation order
Operates on leaf level only


Inside INDEXDEFRAG

(4)

Page reordering example


AB
VW
BC
WZ

DE
JK
JK
KL
EF
KL

AB
JK
AB
BC
KL
BC

VW
DE
DE
WZ
EF
EF

1
1


2
2

3
3

4
4

VW
WZ

2104
2104

Physical Page ID
Physical Page ID

17



×