[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包是Java应用程序与Microsoft SQL Server数据库进行交互的重要组件。JDBC(Java Database Connectivity)是Java平台的标准接口,它允许Java程序通过Java API来连接和操作各种数据库,包括SQL ...
SQLPrompt10 支持SqlServer Management Studio 18 详细操作,参考:https://blog.csdn.net/qq_41251196/article/details/114306085
《SQL代码提示:提升数据库操作效率的利器》 在信息化高度发展的今天,SQL(Structured Query Language)作为数据管理和处理的核心工具,其重要性不言而喻。SQL代码提示功能是现代开发环境中的一项实用特性,它极大...
Microsoft SQL Server Management Studio 18 为数据库原理与应用课程所用
在最新版本中,SQL Prompt 10 显著提升了对SQL Server Management Studio (SMS) 18及以上版本的支持,这意味着用户可以在更现代的开发环境中享受到更加智能和个性化的编码体验。 首先,SQL Prompt 10 的排名建议...
适用的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
- **SQL18 I-23**:详细介绍了SQL语言的基础知识,包括SELECT语句的使用。 - **SQL SELECT18**:解释了如何使用SQL中的SELECT语句来查询数据。 - **AB SELECT18**:这部分可能涵盖了更高级的SELECT语句技巧。 - ...
SQLPrompt9.5+注册机 1、正常安装SQLPrompt9.5 2、断网,进入SQL Server Management Studio 菜单中的SQL Prompt,进入激活 3、按照常规办法,手动激活(不多说) 关键是 SSMS V18 可以用!!!!
### SQL15位和18位公民身份证校验函数知识点详解 #### 一、背景介绍 在进行数据录入时,确保身份证信息的合法性至关重要。不正确的身份证信息将导致数据的有效性和准确性大打折扣。为此,设计了一款专门用于校验15...
SQLPrompt10.5是一款强大的SQL代码补全和优化工具,尤其针对Visual Studio 2019、SQL Server 2019以及SQL Server Management Studio (SSMS) 18.x进行了专门的兼容性优化。这款工具旨在提高SQL开发人员的生产力,通过...
Microsoft ODBC Driver 18 for SQL Server(Linux-debian9-12)离线安装包deb 1.下载后解压,里面包含各版本的odbc驱动,安装前确认匹配当前系统cat /proc/version。 2.Debian默认使用dpkg -i xxx.deb安装,若提示缺少...
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 ...
SQL Prompt是一款强大的SQL代码智能提示和优化工具,它极大地提升了SQL开发人员的工作效率。这款插件专为SQL Server Management Studio (SSMS) 设计,版本10.1.5.14730表明它是该系列的一个特定更新,兼容SQL Server...
Sql Prompt是一款专为Sql Server设计的强大数据库开发工具,由Redgate Software公司开发,版本号9.5.18.11513是其在发布时的一个更新版本。这款工具旨在提升SQL编码效率,减少错误,并增强数据库开发人员的工作体验...
SQLPrompt_10.1.4.14671 支持SSMS18.5。 SQL Prompt是一款拥有SQL智能提示功能的SQL Server和VS插件。SQL Prompt能根据数据库的对象名称,语法和用户编写的代码片段自动进行检索,智能的为用户提供唯一合适的代码...
非常详细. 00.sybase中文安装指南FOR WIN 01.SQL Anywhere 10简介 ...SQL Anywhere 10上下文相关帮助 15UltraLite数据库管理和参考 16UltraLiteAppForge 编程 17UltraLite.NET 编程 18UltraLite ...
使用c# 编写的 sqlserver udf 雪花函数 编译环境为 .net framework 4.5 目标数据库为 sqlserver2012 实际可以在 sqlserver2012-2019 上发布使用 注: 1. 需要开启多个实例权限 2. 需要开启单数据库信任 3. 该程序...
第18章 pl/sql过程 第19章 pl/sql函数 第20章 pl/sql包 第21章 触发器 第22章 使用对象类型 第四部分 pl/sql系统包 第23章 使用大对象 第24章 读写os文件 第25章 开发多媒体应用 第26章 开发web...
例如,`WHERE data.age > 18` 可以筛选出"age"属性大于18的对象。 4. **JOIN**: 尽管JSON结构不支持传统SQL的表连接,但JsonSQL可以通过嵌套查询实现类似的效果。例如,如果你有包含用户和其订单的JSON,可以使用...