update表中index索引列對原索引條目的操作是什么

本篇內(nèi)容主要講解“update表中index索引列對原索引條目的操作是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“update表中index索引列對原索引條目的操作是什么”吧!

茌平網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司成立于2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

--將原索引條目刪除,然后再插入新值條目。

實(shí)驗驗證:

方法:通過修改index列值后,查看index碎片的變化

--建立table測試
CREATE TABLE MES1.T_OBJECT
AS
SELECT * FROM DBA_OBJECTS
WHERE ROWNUM<=20000;
--當(dāng)前20000筆數(shù)據(jù)
SELECT COUNT(1) FROM MES1.T_OBJECT;
20000
--建立index
CREATE INDEX MES1.IDX_OWNER ON  MES1.T_OBJECT(OWNER);
--當(dāng)前index使用大小
SELECT SEGMENT_NAME,BYTES,BLOCKS FROM DBA_SEGMENTS
WHERE SEGMENT_NAME='IDX_OWNER'
SEGMENT_NAME    BYTES    BLOCKS
IDX_OWNER    458752    56

update index列前索引的使用狀況

--使用ANALYZE INDEX ... VALIDATE STRUCTURE可分析index具體使用情況和是否有壞塊,
注意執(zhí)行不使用online話會產(chǎn)生鎖,阻塞DML
analyze index  MES1.IDX_OWNER validate structure;
--分析結(jié)果可通過index_stats查看
select NAME,BLOCKS,DEL_LF_ROWS,LF_ROWS,DEL_LF_ROWS/LF_ROWS from index_stats;
NAME    BLOCKS    DEL_LF_ROWS    LF_ROWS    DEL_LF_ROWS/LF_ROWS
IDX_OWNER    56    0    20000    0
--BLOCKS: Blocks allocated to the segment,index segment使用56個block
--DEL_LF_ROWS: Number of deleted leaf rows in the index,索引中被刪除的葉子行數(shù),當(dāng)前沒有刪除所以是0
--LF_ROWS: Number of leaf rows,葉子總行數(shù),為建表時的20000
--DEL_LF_ROWS/LF_ROWS:index中被刪除行占總行數(shù)的百分比,
  即碎片數(shù)(如果用del_lf_rows_len/lf_rows_len更準(zhǔn)確),這里沒有刪除行所以為0

update index列

--修改10000筆索引列值
UPDATE  MES1.T_OBJECT SET OWNER='TESTUIDX'
WHERE ROWNUM<=10000;
commit;

update index列后索引的使用狀況

--再次分析index使用狀況
analyze index  MES1.IDX_OWNER validate structure;
select NAME,BLOCKS,DEL_LF_ROWS,LF_ROWS,DEL_LF_ROWS/LF_ROWS from index_stats;
select * from index_stats
NAME    BLOCKS    DEL_LF_ROWS    LF_ROWS    DEL_LF_ROWS/LF_ROWS
IDX_OWNER    112    10000    30000    0.333333333333333
--BLOCKS: 增加到了112
--DEL_LF_ROWS: update后索引中被刪除的葉子行數(shù)變?yōu)?0000,說明update會將原來索引條目行刪除
--LF_ROWS: 葉子總行數(shù)變?yōu)?0000,
--進(jìn)一步證實(shí)是刪除了10000行,但index中之前空間并沒有釋放,再加上update后新插入的10000,也就是30000了
--DEL_LF_ROWS/LF_ROWS:因為update被刪除的行產(chǎn)生的碎片為10000/30000,正好為0.333333333333333

到此,相信大家對“update表中index索引列對原索引條目的操作是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

本文名稱:update表中index索引列對原索引條目的操作是什么
網(wǎng)站地址:http://muchs.cn/article12/gddsgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、搜索引擎優(yōu)化、電子商務(wù)、網(wǎng)站策劃、域名注冊、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)