国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Oracle中找出無用的索引提高DML性能

瀏覽:2日期:2023-11-24 08:27:44
DML性能低下,其中最嚴(yán)重的原因之一是無用索引的存在。所有SQL的插入,更新和刪除操作在它們需要在每一行數(shù)據(jù)被改變時(shí)修改大量索引的時(shí)候會(huì)變得更慢。 許多Oracle 治理人員只要看見在一個(gè)SQL 查詢的WHERE語(yǔ)句出現(xiàn)了一列的話就會(huì)為它分配索引。雖然這個(gè)方法能夠讓SQL運(yùn)行得更快速,但是基于功能的Oracle 索引使得數(shù)據(jù)庫(kù)治理人員有可能在數(shù)據(jù)表的行上過度分配索引。過度分配索引會(huì)嚴(yán)重影響要害Oracle 數(shù)據(jù)表的性能。 在Oracle9i出現(xiàn)以前,沒有辦法確定SQL查詢沒有使用的索引。讓我們看看Oracle9i提供了什么樣的方法讓你找到這些索引并刪除它們。 過程是相當(dāng)簡(jiǎn)單的。Oracle9i有一個(gè)工具能夠讓你使用ALTER INDEX命令監(jiān)視索引的使用。然后你可以查找這些沒有使用的索引并從數(shù)據(jù)庫(kù)里刪除它們。 下面是一段腳本,它能夠打開一個(gè)系統(tǒng)中所有索引的監(jiān)視功能: set pages 999;set heading off;spoolrun_monitor.sqlselect 'alter index 'owner'.'index_name' monitoring usage;'from dba_indexeswhere owner not in ('SYS','SYSTEM','PERFSTAT');spool off;@run_monitor你需要等待一段時(shí)間直到在數(shù)據(jù)庫(kù)上運(yùn)行了足夠多的SQL語(yǔ)句以后,然后你就可以查詢新的V$OBJECT_USAGE視圖。 select index_name, table_name, mon, usedfrom v$object_usage;在V$OBJECT_USAGE有一列被稱作USED,它的值是YES或者NO。不幸的是,它不會(huì)告訴你Oracle使用了這個(gè)索引多少次,但是這個(gè)工具對(duì)于找出沒有使用的索引還是很有用的。
主站蜘蛛池模板: 油尖旺区| 荥经县| 宕昌县| 团风县| 无棣县| 石渠县| 万山特区| 东乡族自治县| 山东| 安宁市| 江门市| 石景山区| 塔城市| 延寿县| 体育| 大洼县| 武穴市| 凤翔县| 舒兰市| 福清市| 天全县| 泉州市| 清镇市| 香格里拉县| 莒南县| 安阳县| 上杭县| 西乌珠穆沁旗| 定安县| 南漳县| 吕梁市| 财经| 云和县| 远安县| 剑川县| 海原县| 伊金霍洛旗| 乐都县| 贡觉县| 琼结县| 金门县|