国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

清除Oracle中無用索引 改善DML性能

2024-08-29 13:34:03
字體:
供稿:網(wǎng)友
DML性能低下,其中最嚴(yán)重的原因之一是無用索引的存在。所有SQL的插入,更新和刪除操作在它們需要在每一行數(shù)據(jù)被改變時修改大量索引的時候會變得更慢。 許多Oracle 治理人員只要看見在一個SQL 查詢的WHERE語句出現(xiàn)了一列的話就會為它分配索引。雖然這個方法能夠讓SQL運行得更快速,但是基于功能的Oracle 索引使得數(shù)據(jù)庫治理人員有可能在數(shù)據(jù)表的行上過度分配索引。過度分配索引會嚴(yán)重影響要害Oracle 數(shù)據(jù)表的性能。 在Oracle9i出現(xiàn)以前,沒有辦法確定SQL查詢沒有使用的索引。讓我們看看Oracle9i提供了什么樣的方法讓你找到這些索引并刪除它們。 過程是相當(dāng)簡單的。Oracle9i有一個工具能夠讓你使用ALTER INDEX命令監(jiān)視索引的使用。然后你可以查找這些沒有使用的索引并從數(shù)據(jù)庫里刪除它們。 下面是一段腳本,它能夠打開一個系統(tǒng)中所有索引的監(jiān)視功能: set pages 999;

set heading off;

spoolrun_monitor.sql

select

'alter index 'owner'.'index_name' monitoring usage;'

from

dba_indexes

where

owner not in ('SYS','SYSTEM','PERFSTAT');

spool off;

@run_monitor 你需要等待一段時間直到在數(shù)據(jù)庫上運行了足夠多的SQL語句以后,然后你就可以查詢新的V$OBJECT_USAGE視圖。 select

index_name,

table_name,

mon,

used

from

v$object_usage; 在V$OBJECT_USAGE有一列被稱作USED,它的值是YES或者NO。不幸的是,它不會告訴你Oracle使用了這個索引多少次,但是這個工具對于找出沒有使用的索引還是很有用的。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桑日县| 蓬莱市| 安福县| 如皋市| 武威市| 四子王旗| 革吉县| 台安县| 武强县| 正蓝旗| 临西县| 拉孜县| 临邑县| 新田县| 大城县| 思南县| 日照市| 宁都县| 苗栗县| 澄城县| 思茅市| 泌阳县| 抚远县| 南部县| 思南县| 城固县| 昭通市| 建水县| 托里县| 承德县| 武川县| 乐至县| 阿鲁科尔沁旗| 大方县| 白水县| 炎陵县| 广西| 邯郸市| 阿拉尔市| 中山市| 大埔区|