在MSSQL中,我在一个分区表上创建了索引,但是当
创建该索引时,分区方案基于CUT_OFF。
key_ordinal
等于零时,我不理解它的含义。创建该索引时,分区方案基于CUT_OFF。
create table dbo.TESTTB (CUT_OFF datetime, number int) on partscheme(CUT_OFF);
create index TESTIX on dbo.TESTTB (number) on partscheme(CUT_OFF);
这个查询显示了key_ordinal的值:
select c.name as column_name, b.key_ordinal
from sys.indexes a
inner join sys.index_columns b
on a.object_id = b.object_id and a.index_id = b.index_id
inner join sys.all_columns c on b.object_id = c.object_id
and b.column_id = c.column_id
where a.name = 'TESTIX'
结果如下:
column_name key_ordinal
CUT_OFF 0
number 1
列 CUT_OFF:
- 在
sys.index_columns
中显示为key_ordinal = 0 - 在
Create Index
语句中缺失 - 在
sp_help 'TESTTB'
的索引信息中也缺失
MSDN说:
0 = 不是关键列,或者是 XML 索引、列存储索引或空间索引。
这是什么意思?key_ordinal = 0 是指什么?
谢谢。