Oracle 创建索引前估算索引大小,在一个表的某个字段创建索引前估算其大小,最好的办法就是在测试库创建索引做预测。如果没有测试
oracle 创建索引前估算索引大小
在一个表的某个字段创建索引前估算其大小,最好的办法就是在测试库创建索引做预测。如果没有测试环境还可以使用dbms_space.create_index_cost来估算其大小。
语法:
DBMS_SPACE.CREATE_INDEX_COST (
ddl IN VARCHAR2,
used_bytes OUT NUMBER,
alloc_bytes OUT NUMBER,
plan_table IN VARCHAR2 DEFAULT NULL);
示例:
SQL> create table xyc_test (id int,name varchar(32));
表已创建。
SQL> begin
2 for i in 1..100000 loop
3 insert into xyc_test values(i,'向银春');
4 end loop;
5 commit;
6 end;
7 /
PL/SQL 过程已成功完成。
KGOGOMall 是一套采用 Php + MySql 开发的基于 WEB 应用的 B/S 架构的B2C网上商店系统。具有完善的商品管理、订单管理、销售统计、新闻管理、结算系统、税率系统、模板系统、搜索引擎优化,数据备份恢复,会员积分折扣功能,不同的会员有不同的折扣,支持多语言,模板和代码分离等,轻松创建属于自己的个性化用户界面。主要面向企业和大中型网商提供最佳保障,最大化满足客户目前及今后的独立
0
SQL> exec dbms_stats.gather_table_stats(user,'XYC_TEST');
PL/SQL 过程已成功完成。
SQL> variable used_bytes number;
SQL> variable alloc_bytes number;
SQL> exec DBMS_SPACE.CREATE_INDEX_COST('create index x_idx on xyc_test(id)',:used_bytes,:alloc_bytes);
PL/SQL 过程已成功完成。
SQL> print :used_bytes
500000
----估算分配大小
SQL> print :alloc_bytes
3145728
SQL> create index x_idx on xyc_test(id);
索引已创建。
----实际分配大小,这里感觉和估算的相差较大,可能和数据量有关
SQL> select bytes from user_segments where segment_name='X_IDX';
2097152

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号