找出所有非xml索引並重新整理

2021-04-26 17:09:47 字數 1535 閱讀 8791

--

找出所有非xml索引

declare

cur

cursor

forselect

[object_name]=

s.name+'

.'+object_name

(a.object_id

),b.name

from

sys.dm_db_index_physical_stats(

db_id('

adventureworks'),

null

,null

,null

,null

) as

ajoin

sys.indexes asb

ona.

[object_id]=

b.[object_id

]anda.[

index_id]=

b.[index_id

]join

sys.objects aso

ona.

[object_id]=

o.[object_id

]join

sys.schemas ass

ono.

[schema_id]=

s.[schema_id

]wherea.[

index_id

]>

0and

notexists

(select

*from

sys.xml_indexes

wherea.[

object_id]=

[object_id

]anda.[

index_id]=

[index_id]);

open

cur;

declare

@objname

varchar

(128

),@indname

varchar

(128

);declare

@sql

nvarchar

(4000

);fetch

next

from

cur

into

@objname

,@indname;--

重整所有索引,在這裡先不管索引的碎片程度

while

@@fetch_status=0

begin

set@sql='

alter index '+

@indname+'

on '

+@objname+'

rebuild';

exec

(@sql

);fetch

next

from

cur

into

@objname

,@indname

;end

close

cur;

deallocate

cur;

mysql非主鍵索引 主鍵索引和非主鍵索引的區別

1.什麼是最左字首原則?以下回答全部是基於mysql的innodb引擎 例如對於下面這一張表 如果我們按照 name 欄位來建立索引的話,採用b 樹的結構,大概的索引結構如下 如果我們要進行模糊查詢,查詢name 以 張 開頭的所有人的id,即 sql 語句為 select id from tabl...

mysql非主鍵索引 主鍵索引和非主鍵索引解析

1.什麼是最左字首原則?以下回答全部是基於mysql的innodb引擎 例如對於下面這一張表 如果我們按照 name 欄位來建立索引的話,採用b 樹的結構,大概的索引結構如下 如果我們要進行模糊查詢,查詢name 以 張 開頭的所有人的id,即 sql 語句為 select id from tabl...

mysql查詢所有索引,刪除所有索引,重建所有索引

直接po截圖和 查詢一張表中的所有索引 show index from book show keys from book show create table book 刪除一張表中的所有索引 刪除一張表中的所有索引 參考網頁 參考網頁 mysql索引資訊儲存在information schema.s...