use AdventureWorks2012
GO
select object_id
,name
,index_id
,type
,type_desc
,is_unique
,data_space_id
,ignore_dup_key
,is_primary_key
,is_unique_constraint
,fill_factor
,is_padded
,is_disabled
,is_hypothetical
,allow_row_locks
,allow_page_locks
,has_filter
,filter_definition
from sys.indexes where object_id=object_id('HumanResources.Employee')
GO
select object_name=object_name(i.object_id),
index_name=id.name,
index_type=id.type_desc,
id.index_id,
column_name=c.name,
c.column_id
from sys.index_columns i join sys.columns c
on i.object_id=c.object_id
and i.column_id=c.column_id
join sys.indexes id
on i.object_id=id.object_id
and i.index_id=id.index_id
where i.object_id=object_id('HumanResources.Employee')
order by index_id,column_id
GO
select database_id
,object_id
,index_id
,partition_number
,index_type_desc
,alloc_unit_type_desc
,index_depth
,index_level
,avg_fragmentation_in_percent
,fragment_count
,avg_fragment_size_in_pages
,page_count
,avg_page_space_used_in_percent
,record_count
,ghost_record_count
,version_ghost_record_count
,min_record_size_in_bytes
,max_record_size_in_bytes
,avg_record_size_in_bytes
,forwarded_record_count
,compressed_page_count
from sys.dm_db_index_physical_stats(db_id(),object_id('HumanResources.Employee'),1,DEFAULT,'DETAILED' )
GO
select database_id
--,object_id
--,index_id
--,partition_id
--,rowset_id
--,allocation_unit_id
--,allocation_unit_type
,allocation_unit_type_desc
--,data_clone_id
--,clone_state
--,clone_state_desc
,extent_file_id
,extent_page_id
,allocated_page_iam_file_id
,allocated_page_iam_page_id
,allocated_page_file_id
,allocated_page_page_id
,is_allocated
,is_iam_page
,is_mixed_page_allocation
,page_free_space_percent
,page_type
,page_type_desc
,page_level
,next_page_file_id
,next_page_page_id
--,previous_page_file_id
--,previous_page_page_id
--,is_page_compressed
--,has_ghost_records
from sys.dm_db_database_page_allocations(db_id(),object_id('HumanResources.Employee'),1,DEFAULT,'DETAILED' )
GO
DBCC IND('AdventureWorks2012','HumanResources.Employee',1)
GO
DBCC TRACEON(3604,-1)
GO
DBCC PAGE(AdventureWorks2012,1,1052,3) with tableresults
sp_helptext fn_PhysLocCracker
GO
select [NationalIDNumber], 'Location(File:Page:Slot)'=sys.fn_physLocFormatter(%%physloc%%),
KeyHashValue=%%lockres%%
from [AdventureWorks2012].[HumanResources].[Employee]
GO
DBCC SHOW_STATISTICS('HumanResources.Employee','PK_Employee_BusinessEntityID')
WITH STAT_HEADER, HISTOGRAM
GO
SELECT OBJECT_NAME(s.object_id) AS object_name,
COL_NAME(sc.object_id, sc.column_id) AS column_name,
s.name AS statistics_name,
STATS_DATE=STATS_DATE(s.object_id,s.stats_id),
auto_created,
user_created
FROM sys.stats AS s JOIN sys.stats_columns AS sc
ON s.stats_id = sc.stats_id AND s.object_id = sc.object_id
WHERE --s.name like '_WA%'
sc.object_id=object_id('HumanResources.Employee')
ORDER BY OBJECT_NAME(s.object_id),stats_date
GO
UPDATE STATISTICS HumanResources.Employee
-- WITH FULLSCAN
WITH SAMPLE 50 PERCENT
GO
Thursday, February 6, 2014
T-SQL Index Internal & Statistics
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment