Oracle 工具类 Sql 分析索引的 碎片率

1、索引分析

分析语句:
SQL>analyze index <index_name> validate structure online;

分析表:
analyze table tablename compute statistics;

analyze index indexname compute statistics;

查看索引碎片的情况:
SQL>select name,del_lf_rows_len,lf_rows_len,(del_lf_rows_len/lf_rows_len)*100 from index_stats;
索引碎片率:(del_lf_rows_len/lf_rows_len)*100
如果索引碎片率超过20%,oracle就会认为索引碎片已经非常严重,此时就需要对索引碎片进行整理。

2、索引碎片整理
索引碎片整理包括两种策略:
(1)重建索引(rebuild)
SQL>alter index <index_name> rebuild;
(2)压缩索引(coalesce)
SQL>alter index <index_name> coalesce;

oracle建议定期分析之后采用重建索引(rebuild)的策略。

原文地址:https://www.cnblogs.com/liwenchaoCode/p/8242274.html

时间: 2024-11-15 00:24:46

Oracle 工具类 Sql 分析索引的 碎片率的相关文章

Oracle 工具类 Sql

一.查询执行最慢的sql select * from (select sa.SQL_TEXT, sa.SQL_FULLTEXT, sa.EXECUTIONS "执行次数", round(sa.ELAPSED_TIME / 1000000, 2) "总执行时间", round(sa.ELAPSED_TIME / 1000000 / sa.EXECUTIONS, 2) "平均执行时间", sa.COMMAND_TYPE, sa.PARSING_USE

Oracle直方图导致SQL不走索引.

在ITPUB 上看到一个帖子 http://www.itpub.net/thread-1875212-1-1.html 同一条SQL语句,只有查询条件不一样,查询返回的结果集都为0,一个走了全表扫描,一个走索引.查看全表扫描的SQL语句:SQL走全表,产生了2422609个逻辑读,cost为535KSQL> SELECT URL,YHZH,HFRZY,HFLR,SPURL,TPURL,YPURL,SCSJ,LY,JCSJ FROM YHXX_HFXX T 2       WHERE T.URL=

oracle工具类

查询表中有多少列 select count(1) from user_tab_columns where table_name=upper('M_ReturnPicture') //查询数据中某个用户所创建的表数量 SELECT table_name FROM all_tables WHERE owner = upper('rpt'); select * from all_tables where owner = upper('userecc') and (table_name like 'T_

Spring 工具类 ConfigurationClassParser 分析得到配置类

https://blog.csdn.net/andy_zhang2007/article/details/78549773 Spring 工具类 ConfigurationClassParser 分析得到配置类原创安迪源文 最后发布于2017-11-16 12:19:50 阅读数 4296 收藏展开简介Spring的工具类ConfigurationClassParser用于分析@Configuration注解的配置类,产生一组ConfigurationClass对象.它的分析过程会接受一组种子配

JDBC连接Oracle工具类

import java.sql.*;import java.util.ResourceBundle; /** * jdbc工具类,负责: * 1. 加载/注册数据库驱动程序 * 2. 获取数据库连接 * 3. 释放数据库资源(Connection, Statement, ResultSet) */public class JdbcUtil { private static final String DRIVER = getValue("jdbc.driver"); private st

windows环境下安装连接远程oracle工具PL/SQL Developer 11.0

官网下载所需的3个软件包(为了连接11g数据库) 1:oracle client(oracle客户端) http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/112010-win64soft-086667-zhs.html 下载win64_11gR2_client.zip具体安装方法可参考百度 2:PL/SQL Developer 11.0 http://files.allroundautomatio

Oracle工具类-生成数据库现有Job的创建脚本

生成Oracle数据库现有Job的创建脚本 -- 生成现有Job的创建脚本 create or replace procedure proc_generate_job_create_sql is begin DBMS_OUTPUT.ENABLE(buffer_size => null); --表示输出buffer不受限制 sys.dbms_output.put_line('declare'); sys.dbms_output.put_line(' v_job number;'); sys.dbm

C#工具类OracleHelper,基于Oracle.ManagedDataAccess.Client封装

基于Oracle.ManagedDataAccess.Client封装的Oracle工具类OracleHelper,代码如下: using System; using System.Data; using System.Collections.Generic; using System.Configuration; using System.Text; using System.IO; using Oracle.ManagedDataAccess.Client; //using System.D

oracle中的SQL优化

一.SQL语言的使用1.IN 操作符    用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格.    但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:    ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询.    由此可见用IN的SQL至少多了一个转换的过程.一般的SQL都可以转换成功,但对于含有分组统计等方面