`
chenhongwei0924
  • 浏览: 42459 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多
[Q]怎么样分析表或索引 
[A]命令行方式可以采用analyze命令 
如Analyze table tablename compute statistics; 
Analyze index indexname estimate statistics; 
ANALYZE TABLE tablename COMPUTE STATISTICS 
     FOR TABLE 
     FOR ALL COLUMNS 
     FOR ALL INDEXES 
     FOR ALL INDEXED COLUMNS; 
等等。 
如果想分析整个用户或数据库,还可以采用 
Dbms_utility(8i以前的工具包) 
Dbms_stats(8i以后提供的工具包) 
如 
dbms_stats.gather_schema_stats(ownname=>User,estimate_percent=>100,cascade=> TRUE); 
这是对命令与工具包的一些总结 
1.  对于分区表,建议使用DBMS_STATS,而不是使用Analyze语句。  
a)  可以并行进行,对多个用户,多个Table  
b)  可以得到整个分区表的数据和单个分区的数据。  
c)  可以在不同级别上Compute Statistics:单个分区,子分区,全表,所有分区  
d)  可以倒出统计信息  
e)  可以用户自动收集统计信息  
2.  DBMS_STATS的缺点  
a)  不能Validate Structure  
b)  不能收集CHAINED ROWS, 不能收集CLUSTER TABLE的信息,这两个仍旧需要使用Analyze语句。  
c)  DBMS_STATS  默认不对索引进行Analyze,因为默认Cascade是False,需要手工指定为True  
3.  对于oracle 9里面的External Table,Analyze不能使用,只能使用DBMS_STATS来收集信息。 
  
[Q]怎么样快速重整索引 
[A]通过rebuild语句,可以快速重整或移动索引到别的表空间 
rebuild有重建整个索引数的功能,可以在不删除原始索引的情况下改变索引的存储参数 
语法为 
  alter index index_name rebuild tablespace ts_name 
        storage(……); 
如果要快速重建整个用户下的索引,可以用如下脚本,当然,需要根据你自己的情况做相应修改 
SQL> set heading off 
SQL> set feedback off 
SQL> spool d:\index.sql 
SQL> SELECT 'alter index ' || index_name || ' rebuild ' 
||'tablespace INDEXES storage(initial 256K next 256K pctincrease 0);' 
FROM all_indexes 
WHERE ( tablespace_name != 'INDEXES' 
OR next_extent != ( 256 * 1024 ) 
) 
AND owner = USER 
SQL>spool off 
另外一个合并索引的语句是 
alter index index_name coalesce,这个语句仅仅是合并索引中同一级的leaf block 
消耗不大,对于有些索引中存在大量空间浪费的情况下,有一些作用。 
  

分享到:
评论

相关推荐

    SQL Server JDBC驱动jar包

    SQL Server JDBC驱动jar包是Java应用程序与Microsoft SQL Server数据库进行交互的重要组件。JDBC(Java Database Connectivity)是Java平台的标准接口,它允许Java程序通过Java API来连接和操作各种数据库,包括SQL ...

    SQLPrompt10 支持SqlServer Management Studio 18

    SQLPrompt10 支持SqlServer Management Studio 18 详细操作,参考:https://blog.csdn.net/qq_41251196/article/details/114306085

    SQL代码提示

    《SQL代码提示:提升数据库操作效率的利器》 在信息化高度发展的今天,SQL(Structured Query Language)作为数据管理和处理的核心工具,其重要性不言而喻。SQL代码提示功能是现代开发环境中的一项实用特性,它极大...

    Microsoft SQL Server Management Studio 18

    Microsoft SQL Server Management Studio 18 为数据库原理与应用课程所用

    Sql Prompt 10 支持 sms18以上

    在最新版本中,SQL Prompt 10 显著提升了对SQL Server Management Studio (SMS) 18及以上版本的支持,这意味着用户可以在更现代的开发环境中享受到更加智能和个性化的编码体验。 首先,SQL Prompt 10 的排名建议...

    ODBC Driver 18 for SQL Server

    适用的SQL Server版本: SQL Server 2019 SQL Server 2017 SQL Server 2016 SQL Server 2014 SQL Server 2012 SQL Server 2008 R2 SP1 SQL Server 2008 SP2

    SQLPrompt9.5+注册机 ssms V18 可用

    SQLPrompt9.5+注册机 1、正常安装SQLPrompt9.5 2、断网,进入SQL Server Management Studio 菜单中的SQL Prompt,进入激活 3、按照常规办法,手动激活(不多说) 关键是 SSMS V18 可以用!!!!

    Introduction To ORACLE9i:SQL1

    - **SQL18 I-23**:详细介绍了SQL语言的基础知识,包括SELECT语句的使用。 - **SQL SELECT18**:解释了如何使用SQL中的SELECT语句来查询数据。 - **AB SELECT18**:这部分可能涵盖了更高级的SELECT语句技巧。 - ...

    SQL15位和18位公民身份证校验函数

    ### SQL15位和18位公民身份证校验函数知识点详解 #### 一、背景介绍 在进行数据录入时,确保身份证信息的合法性至关重要。不正确的身份证信息将导致数据的有效性和准确性大打折扣。为此,设计了一款专门用于校验15...

    Microsoft ODBC Driver 18 for SQL Server(Linux-debian9-12)离线安装包de

    Microsoft ODBC Driver 18 for SQL Server(Linux-debian9-12)离线安装包deb 1.下载后解压,里面包含各版本的odbc驱动,安装前确认匹配当前系统cat /proc/version。 2.Debian默认使用dpkg -i xxx.deb安装,若提示缺少...

    SQLPrompt10.5 支持vs2019+SQL2019+SSMS18.x.rar

    SQLPrompt10.5是一款强大的SQL代码补全和优化工具,尤其针对Visual Studio 2019、SQL Server 2019以及SQL Server Management Studio (SSMS) 18.x进行了专门的兼容性优化。这款工具旨在提高SQL开发人员的生产力,通过...

    SQL Prompt插件, 支持SQL2019+SSMS18.5,仅用于学习研究. 不得用于商业用处!

    SQL Prompt是一款强大的SQL代码智能提示和优化工具,它极大地提升了SQL开发人员的工作效率。这款插件专为SQL Server Management Studio (SSMS) 设计,版本10.1.5.14730表明它是该系列的一个特定更新,兼容SQL Server...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    18.SQL Server 2014子查询EXISTS.mp4 19.SQL Server 2014返回记录排序.mp4 2.SQL Server 2014硬件和软件要求.mp4 20.SQL Server 2014关联查询.mp4 21.SQL Server 2014聚合函数AVG() SUM().mp4 22.SQL Server ...

    SQLPrompt_10.1.4完美支持SSMS18.5 详细文档

    SQLPrompt_10.1.4.14671 支持SSMS18.5。 SQL Prompt是一款拥有SQL智能提示功能的SQL Server和VS插件。SQL Prompt能根据数据库的对象名称,语法和用户编写的代码片段自动进行检索,智能的为用户提供唯一合适的代码...

    Sql Prompt 9.5.18.11513

    Sql Prompt是一款专为Sql Server设计的强大数据库开发工具,由Redgate Software公司开发,版本号9.5.18.11513是其在发布时的一个更新版本。这款工具旨在提升SQL编码效率,减少错误,并增强数据库开发人员的工作体验...

    Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(一)

     第18章 pl/sql过程  第19章 pl/sql函数  第20章 pl/sql包  第21章 触发器  第22章 使用对象类型 第四部分 pl/sql系统包  第23章 使用大对象  第24章 读写os文件  第25章 开发多媒体应用  第26章 开发web...

    sqlserver snowflake 函数

    使用c# 编写的 sqlserver udf 雪花函数 编译环境为 .net framework 4.5 目标数据库为 sqlserver2012 实际可以在 sqlserver2012-2019 上发布使用 注: 1. 需要开启多个实例权限 2. 需要开启单数据库信任 3. 该程序...

    SQLPrompt_9.5.0.9311破解版

    SQL Prompt is now supported in SQL Server Management Studio 18! SQL Prompt is now supported in Visual Studio 2019! SQL Prompt now requires .Net Framework 4.7.2 or later. You can download it from: ...

    JsonSQL:用SQL语句解析JSON文件

    例如,`WHERE data.age > 18` 可以筛选出"age"属性大于18的对象。 4. **JOIN**: 尽管JSON结构不支持传统SQL的表连接,但JsonSQL可以通过嵌套查询实现类似的效果。例如,如果你有包含用户和其订单的JSON,可以使用...

Global site tag (gtag.js) - Google Analytics