`
PolyAngel
  • 浏览: 114262 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

analyze table & index

 
阅读更多
为了利用索引提高效率,可以单独对该字段或该表用analyze语句进行分析,对该列搜集足够的统计数据,使ORACLE在查询选择性较高的值时能用上索引。

ANALYZE   TABLE   tablename   COMPUTE|ESTIMATE|DELETE   STATISTICS

analyze   table   tablename   compute   statistics
  ------------------------------------------
  对全表进行统计,然后生成统计信息,数据量大的时候  
  速度很慢,对temp表要求也很高。

  analyze   table   tablename   ESTIMATE   STATISTICS
  SAMPLE     XXX     PERCENT
  ------------------------------------------
  抽取表中的部分数据进行统计,最好> =20%,否则得不到
  准确的统计信息

  analyze   table   tablename   delete   statistics
  -----------------------------------------
    删除表上的统计信息

当然索引也是可以analyze的,用法和table一样。
分析表后可以使用更可靠的table信息,从而执行计划也可以更准确一些,10g会自动analyze,之前的版本需要手动定期生成统计信息,选择合理的执行计划。
Use the ANALYZE statement to collect non-optimizer statistics, for example, to:
1、Collect or delete statistics about an index or index partition, table or table partition, index-organized table, cluster, or scalar object attribute.
2、Validate the structure of an index or index partition, table or table partition, index-organized table, cluster, or object reference (REF).
3、Identify migrated and chained rows of a table or cluster.
分享到:
评论

相关推荐

    Analyze_Oracle_Table.rar_Table_analyze orac_analyze orac_oracle

    "Analyze_Oracle_Table.rar"这个压缩包文件的主题聚焦于Oracle表的分析,目的是提升查询和执行操作的效率。Oracle的性能可能会因为各种因素而下降,例如索引未被有效利用、数据分布不均匀或者统计信息过时等。因此,...

    ORACLE重建索引总结

    1. 删除再创建:`DROP INDEX index_name`,然后`CREATE INDEX index_name ON table(column)`。这种方式耗时较长,不适合24*7运行的环境。 2. 直接重建:`ALTER INDEX indexname REBUILD`或`ALTER INDEX indexname ...

    Oracle表删除大量数据(千万)后查询变慢问题(原因分析)

    analyze 语句有多种形式,例如 analyze table tablename compute statistics,可以收集表的统计信息;analyze table tablename delete statistics,可以删除表的统计信息。 在 Oracle 数据库中,analyze 语句是非常...

    oracle-认证之管理统计信息

    - `ANALYZE TABLE table_name VALIDATE STRUCTURE CASCADE;` - `ANALYZE TABLE table_name LIST CHAINED ROWS;` - **限制**:`ANALYZE`命令不适用于大型分区表。 ##### 2. DBMS_STATS 包 - **功能**:提供了更...

    ORACLE数据库优化

    EXECUTE IMMEDIATE 'CREATE TABLE ANALYZE_LOG(USER_NAME VARCHAR(20), OP_TIME CHAR(19) DEFAULT to_char(sysdate, ''yyyy-mm-dd hh24:mi:ss''), ERROR_TEXT VARCHAR(200), TABLE_NAME VARCHAR(40))'; END IF; ...

    Oracle index

    索引的维护可以通过分析来优化,使用ANALYZE INDEX命令可以收集统计信息,帮助数据库进行更有效的查询计划选择。 Oracle还提供了索引的分区功能,特别是对于大型表,可以将索引分成多个逻辑部分,称为分区。这样...

    18 SQL优化--其他SQL的优化.doc

    ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE table_name [, table_name1] ... ; ``` - **功能**:分析并存储表的关键字分布,有助于后续查询性能的提升。 - **适用表类型**:MyISAM、BDB 和 InnoDB 表。 - **示例...

    oracle index学习总结

    2. 分析与调整:定期运行`ANALYZE TABLE`收集统计信息,以帮助Oracle做出更好的执行计划。 3. 避免全表扫描:索引虽好,但过度依赖索引可能导致全表扫描。合理设计索引并结合合适的查询语句可以避免这个问题。 五...

    Oracle性能监控SQL语句

    - `SELECT user_indexes.table_name, user_indexes.index_name, uniqueness, column_name FROM user_ind_columns, user_indexes WHERE user_ind_columns.index_name = user_indexes.index_name AND user_ind_...

    微软内部资料-SQL性能优化5

    The only source of any storage location information is the sysindexes table, which keeps track of the address of the root page for every index, and the first IAM page for the index or table....

    sqlite的SQL语法手册详解速查

    CREATE [UNIQUE] INDEX index_name ON table_name (column1, column2,...); ``` - **示例**: ```sql CREATE UNIQUE INDEX idx_email ON users (email); ``` ##### 7. CREATE TABLE `CREATE TABLE` 用于创建...

    高级SQL优化教程(很不错的学习资料)

    - 直接使用ANALYZE命令:`SQL> analyze table emp compute statistics;` - 指定特定列进行统计:`SQL> analyze table emp compute statistics for all indexed columns size 75;` - 采用采样方式进行统计:`SQL> ...

    oracle里的常用命令

    - `ANALYZE`:分析表或索引,优化查询计划,如`ANALYZE TABLE table_name COMPUTE STATISTICS`。 - `DBMS_STATS`:PL/SQL包,提供更多高级统计分析功能。 以上只是Oracle数据库常用命令的一部分,实际工作中根据...

    函数索引使用

    创建索引后,可以通过`ANALYZE INDEX`和`ANALYZE TABLE`命令来计算索引和表的统计信息,这些统计信息对于优化器决定如何执行查询至关重要。 ```sql SQL> analyze index fbionsale_contacts compute statistics; SQL>...

    oracle常用命令

    - `ANALYZE INDEX index_name VALIDATE STRUCTURE;`:检查索引的结构完整性,确保索引树的健康状态,是定期维护的一部分。 - `DESC INDEX_STATE;`:描述索引的状态,帮助理解索引的当前配置和使用情况。 #### 8. ...

    表和索引统计信息不一致

    1. 手动收集统计信息:使用数据库提供的命令(如MySQL的ANALYZE TABLE或SQL Server的DBCC UPDATEUSAGE)对表和索引进行重新分析。 2. 调整自动统计更新策略:根据系统的实际情况,调整数据库的自动统计更新策略,...

    oracle表空间变动注意事项

    ANALYZE TABLE table_name COMPUTE STATISTICS; ``` 2. **调整分区策略**:对于分区表,合理调整分区策略有助于提升查询效率。 3. **使用压缩技术**:启用行级或表级压缩,减少数据占用空间,提高I/O效率。 ###...

    oracle索引使用样例

    ANALYZE TABLE GD_YX_ZYTDYH COMPUTE STATISTICS FOR TABLE FOR ALL INDEXED COLUMNS; ``` 此命令将为表`GD_YX_ZYTDYH`中的所有列收集统计信息,并且包括所有的索引列。 2. **使用`DBMS_STATS`包**: - 收集表...

    alter sql 语句实例

    例如:ALTER TABLE table_name CLUSTER ON index_name; 11. SET WITHOUT CLUSTER:从表中删除最新使用的 CLUSTER 索引。 例如:ALTER TABLE table_name SET WITHOUT CLUSTER; 12. SET WITHOUT OIDS:从表中删除 ...

    性能监控常用语句

    语句`ANALYZE TABLE tablename COMPUTE STATISTICS FOR ALL INDEXES`和`ANALYZE TABLE tablename COMPUTE STATISTICS FOR ALL INDEXED COLUMNS`用于收集表及其索引的统计信息,而`ANALYZE TABLE tablename COMPUTE ...

Global site tag (gtag.js) - Google Analytics