PDA

View Full Version : Thắc mắc về việc kết hợp giữa Index và Partition



HungBKBIA
14-01-2011, 17:59
Mình có 1 bảng như sau:

table_name(tb_key,date_key,...)

trong đó:
tb_key: là khóa chính,
date_key: chứa thông tin về ngày.

Do số lượng bản ghi trong bảng sẽ rất lớn theo thời gian nên mình quyết định thực hiện partition bảng theo từng tháng sử dụng cột date_key. Tuy nhiên khi thực hiện điều này thì gặp phải vấn đề là: cột trong partition ( partition column) phải thuộc PK của bảng.
Mình không muốn gộp cả date_key vào trong PK vì như thế là không hợp lý về mặt thiết kế. Bạn nào có giải pháp cho vấn đề này thì giúp mình nhé.

Thanks!

Red Devilic
14-01-2011, 18:41
Partition Key và Primary Key chẳng liên quan gì đến nhau cả

2 Khái niệm này khác nhau hoàn toàn.

Và cũng chưa bao giờ Partition Column phải là Primary Key trong bảng.

HungBKBIA
14-01-2011, 23:58
Msg 1908, Level 16, State 1, Line 1
Column 'Date_key' is partitioning column of the index 'PK_Fact_Value'. Partition columns for a unique index must be a subset of the index key.

Đây là thông báo lỗi khi mình thực hiện lệnh:
Create table Fact_Value
(
Value_Key bigint identity(1,1),
Date_key int not null,
constraint PK_Fact_Value primary key(Value_Key)
) on ps_Fact_Value_Scheme(Date_Key)