06 索引 非聚集索引 2 堆表

2022-02-09 05:18:52 字數 1655 閱讀 1602

刪除聚集索引

drop index cix_employee001_id

onemployee001

索引情況

select

database_id

,index_id

,index_type_desc

,index_depth

,index_level

,page_count

from

sys.

dm_db_index_physical_stats

(db_id

('indexdb'

),object_id

('employee001'

),null,null,null)

truncate

table

dbccindresult

insert

into

dbccindresult

exec

('dbcc ind(indexdb,employee001,-1)'

)select

*from

dbccindresult

where

pagetype=2

andindexid=3

找到根檢視根頁

dbcc

traceon

(3604

)dbcc

page

(indexdb,1

,442,3

);這時 由於沒有聚集索引了,所以也就沒有id(key),取而代之的是heap rid 也就是rid 行定位器

這個指標(rid)由頁裡行的(檔案號:頁號:槽號,file identifier :page number :slot number)組成

可以通過下面的方式 檢視

declare

@heaprid

binary(8

)set

@heaprid

=0xb800000001003e00

select

convert

(varchar(5

),convert

(int

,substring

(@heaprid,6

,1)+

substring

(@heaprid,5

,1)))+

':'+

convert

(varchar(10

),convert

(int

,substring

(@heaprid,4

,1)+

substring

(@heaprid,3

,1)+

substring

(@heaprid,2

,1)+

substring

(@heaprid,1

,1)))+

':'+

convert

(varchar(5

),convert

(int

,substring

(@heaprid,8

,1)+

substring

(@heaprid,7

,1)))as

'fileid:pageid:slot'

查詢

06 聚集索引和非聚集索引

1.聚集索引和非聚集索引 輔助索引 區別 2.聚集索引特點 缺點 聚集索引提高了io密集型應用的效能,但是如果資料全部存在記憶體中,聚集索引就沒什麼優勢了。建立索引的順序依賴於資料的順序,如果資料不是按照主鍵順序排列的,建立索引會比較慢。優點 3.非聚集索引特點 缺點 非聚集索引查詢資料需要2次索引...

聚集索引 非聚集索引

通常情況下,建立索引是加快查詢速度的有效手段。但索引不是萬能的,靠索引並不能實現對所有資料的快速訪問。事實上,如果索引策略和資料檢索需求嚴重不符的話,建立索引反而會降低查詢效能。因此在實際使用當中,應該充分考慮到索引的開銷,包括磁碟空間的開銷及處理開銷 如資源競爭和加鎖 例如,如果資料頻繁的更新或刪...

05 索引 非聚集索引 1 聚集表

建立非聚集索引 create nonclustered index ncix employee001 department organization onemployee001 department organization alter index ncix employee001 departme...