Database index là gì?

Database index (chỉ mục) là gì?

  • Chỉ mục cho phép chương trình tìm dữ liệu trong bảng mà không cần quét toàn bộ bảng.
  • Chỉ mục được dùng để tìm kiếm dữ liệu, con trỏ chỉ mục được sử dụng để định vị (chỉ ra) hàng có chứa giá trị cần tìm kiếm.
  • Chỉ mục xây dung hợp lý có thể cải thiện hiệu suất cơ sở dữ liệu đáng kể.

Chỉ mục có 2 loại: Chỉ mục vật lý và chỉ mục logic

  • Mỗi bảng chỉ có một chỉ mục vật lý và có thể có nhiều hơn 1 chỉ mục logic
  • Chỉ mục vật lý các dòng dữ liệu sắp xếp theo thứ tự vật lý lưu trữ trên đĩa
  • Chỉ mục logic lưu bảng chỉ mục và địa chỉ của dữ liệu được lưu trữ, mỗi khi tìm thấy dữ liệu cần tìm hệ quản trị  csdl truy cập đến địa chỉ được đánh số để lấy dữ liệu mà không cần phải duyệt qua tất cả các bản ghi

Cách tạo chỉ mục

CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]
INDEX index_name
ON table_name (column_name[, column_name]…)
[WITH
[PAD_INDEX]
[[,]FILLFACTOR=x]
[[,]DROP_EXISTING]
]

Ví dụ

– – Clustered index

CREATE CLUSTERED INDEX CLINDX_titleid ON Roysched (title_id)

– – Noncluster index

CREATE NONCLUSTERED INDEX NCLINDX_ordnum ON sales (ord_num)

Tham số FILLFACTOR là khoảng trống để dành để chèn dữ liệu trong trường hợp sử dung Clustered index để tránh trường hợp khi trang dữ liệu đầy phải tách trang để bổ sung không gian trống. Số fillfactor 100% là sử dung full, không để dành phần trống trong trang dữ liệu.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s