আমি কলামটির উদ্দেশ্য সম্পর্কে ভুল বোঝাবুঝি না করে, নিম্নলিখিত কোডটি বোঝায় যে ক্লাস্টারড ইনডেক্সের কাঠামোর পরিবর্তনের stats_column_id
ফলে সিএস.স্ট্যাটস_ক্লামগুলি ডিএমভিতে কলামের অর্ডিনাল অবস্থান ( ) পরিবর্তন হবে না । (অ্যাডভেঞ্চার ওয়ার্কস ২০১৪, অ্যাডভেঞ্চার ওয়ার্কস ২০০৮ আর ২ তে পরীক্ষিত)
select i.name, c.name, ic.column_id, ic.index_column_id
from sys.indexes i
join sys.index_columns ic
on i.object_id = ic.object_id
and i.index_id = ic.index_id
join sys.columns c
on i.object_id = c.object_id
and ic.column_id = c.column_id
where i.name = 'PK_BusinessEntityAddress_BusinessEntityID_AddressID_AddressTypeID'
order by ic.key_ordinal;
select sh.name,s.name, c.name, c.column_id, sc.column_id, sc.stats_column_id
from sys.stats s
join sys.stats_columns sc
on s.object_id = sc.object_id
and s.stats_id = sc.stats_id
join sys.columns c
on s.object_id = c.object_id
and sc.column_id = c.column_id
join sys.tables t
on s.object_id = t.object_id
join sys.schemas sh
on t.schema_id = sh.schema_id
where s.name = 'PK_BusinessEntityAddress_BusinessEntityID_AddressID_AddressTypeID'
order by sc.stats_column_id;
dbcc show_statistics('[Person].[BusinessEntityAddress]','PK_BusinessEntityAddress_BusinessEntityID_AddressID_AddressTypeID') with density_vector;
ALTER TABLE [Person].[BusinessEntityAddress] DROP CONSTRAINT [PK_BusinessEntityAddress_BusinessEntityID_AddressID_AddressTypeID]
GO
ALTER TABLE [Person].[BusinessEntityAddress] ADD CONSTRAINT [PK_BusinessEntityAddress_BusinessEntityID_AddressID_AddressTypeID] PRIMARY KEY CLUSTERED
(
AddressID ASC,
[BusinessEntityID] ASC,
[AddressTypeID] ASC
)
GO
select i.name, c.name, ic.column_id, ic.index_column_id
from sys.indexes i
join sys.index_columns ic
on i.object_id = ic.object_id
and i.index_id = ic.index_id
join sys.columns c
on i.object_id = c.object_id
and ic.column_id = c.column_id
where i.name = 'PK_BusinessEntityAddress_BusinessEntityID_AddressID_AddressTypeID'
order by ic.key_ordinal;
select sh.name,s.name, c.name, c.column_id, sc.column_id, sc.stats_column_id
from sys.stats s
join sys.stats_columns sc
on s.object_id = sc.object_id
and s.stats_id = sc.stats_id
join sys.columns c
on s.object_id = c.object_id
and sc.column_id = c.column_id
join sys.tables t
on s.object_id = t.object_id
join sys.schemas sh
on t.schema_id = sh.schema_id
where s.name = 'PK_BusinessEntityAddress_BusinessEntityID_AddressID_AddressTypeID'
order by sc.stats_column_id;
dbcc show_statistics('[Person].[BusinessEntityAddress]','PK_BusinessEntityAddress_BusinessEntityID_AddressID_AddressTypeID') with density_vector;
তবে, ঘনত্বের ভেক্টরগুলি সূচক / পরিসংখ্যান অবজেক্টের শীর্ষস্থানীয় কলামে পরিবর্তন নির্দেশ করে। এটি কি আমার পক্ষ থেকে একটি মৌলিক ভুল বোঝাবুঝি? যদি তা হয় তবে আমি কীভাবে ডিএমভি ব্যবহার করে কোনও পরিসংখ্যানের অবজেক্টের শীর্ষস্থানীয় কলামটি খুঁজে পাব?
পরীক্ষিত এসকিউএল সার্ভার সংস্করণ: ২০০৮আর ২, ২০১৪
key_ordinal
এটি সূচক কলামগুলির ক্রম (সবেমাত্র এটি আবিষ্কার হয়েছে)। যাইহোক, sys.stats_column এ থাকা ডকুমেন্টেশনটি সূচিত করে যে stats_column_id একটি সাধারণ অবস্থান, তবে আমি এটি সম্পূর্ণ ভুল পড়তে পারি।
INDEX_COL()
যদিও আমি অস্পষ্টভাবে কাউকে স্মরণ করিয়ে