周末一兄弟问我有个近200G的表想要DROP,但是他就算先truncate再drop,或是先offline,再drop,都要话费很长时间,之后又试了分批回缩,发现效果要快很多,只是步骤比较麻烦一点。SQL> set timing on
SQL> select * from dual;
DUMMY
-----
X
已执行耗时 0.468 秒
SQL> truncate table
原创
2013-10-20 11:06:51
2239阅读
点赞
1评论
有一些时候发现某些表的索引大小会超出表的大小,而且索引字段比表字段少很多,测试如下。
原创
2022-08-04 11:03:07
188阅读
一般情况下,索引应该是比表小的。google 一下,看到了warehouse大哥的一篇blog,里面有个测试,例子中的索引确实比表大。 先看 IndexesYou might want to re-create an
先看一段官网的说明:14.1.7 Re-creating IndexesYou might want to re-create an index to compact it and minimize fragmented space, or to change the index's storage characteristics. When creating a new index that i
转载
2010-10-18 14:17:00
118阅读
2评论
上午和DBA 1群的王海讨论了下 索引和 表的关系,他说从网上看到索引比表大。 一般情况下,索引应该是比表小的。google 一下,看
转载
2022-01-06 11:32:20
252阅读
<br /> <br />上午和DBA 1群的王海讨论了下索引和表的关系,他说.aspx<br /> <br /> <br />先看一段官网的
原创
2022-10-19 22:56:45
435阅读
1.nl连接,请用在局部扫描额场景nl第一步优化:驱动表限制条件有索引第二步:被驱动表的连接条件有索引第三步:确保小结果集先驱动2.hash连接:第一步:两表限制条件有索引第二步:小结果集驱动第三步:尽量保证PGA能容纳hash算法3.merge sort join连接:第一步:两表限制条件有索引第二步:连接条件索引消除排序(排序本身有序)只能消除一边的排序,根本不可能消除两边的排序。(oracl
转载
2023-10-26 17:26:14
219阅读
背景:根据甲方要求,需要对大数据平台指定表(hive、impala表)的历史数据[2021-01-01至2023-03-29]指定字段进行批量更新,然后把表同步到Oracle。先更新大数据平台上的表,再把更新完成的表同步到Oracle。hive有8张表更新,其中4张大表【分区表】(数据量分别为:1038738976、260958144、25860509、2867005),另外4张小表(几万、二十几
转载
2023-11-10 11:14:03
154阅读
上午和DBA 1群的王海讨论了下 索引和 表的关系,他说从网上看到索引比表大。 一般情况下,索引应该是比表小的。google 一下,看到了warehouse大哥的一篇blog,里面有个测试,例子中的索引确实比表大。
转载
2010-10-18 14:17:00
77阅读
2评论
Oracle在创建表的同时规划分区1、分区概念Oracle在实际业务生产环境中,经常会遇到随着业务量的逐渐增加,表中的数据行数的增多,Oracle对表的管理和性能的影响也随之增大。对表中数据的查询、表的备份的时间将大大提高,以及遇到特定情况下,要对表中数据进行恢复,也随之数据量的增大而花费更多的时间。这个时候,Oracle数据库提供了分区这个机制,通过把一个表中的行进行划分,归为几部分,可以减少大
转载
2024-02-26 19:47:42
146阅读
大小表区分按照数据量的大小区分; 通常对于小表,Oracle建议通过全表扫描进行数据访问,对于大表则应该通过索引以加快数据查询,当然如果查询要求返回表中大部分或者全部数据,那么全表扫描可能仍然是最好的选择。从V$SYSSTAT视图中,我们可以查询得到关于全表扫描的系统统计信息: SQL> col n
转载
2019-08-13 00:09:00
626阅读
2评论
1、增加I/o读取的速度 DB_FILE_MULTIBLOCK_READ_COUNT如果是全表扫描,那么区间的尺寸大小就有可能导致性能问题。因为全表扫描时,Oracle会一次读取多个Blocks。每次读取的块数将受初始化参数DB_FILE_MULTIBLOCK_READ_COUNT和 操作系统的I/O缓冲区大小的限制。比如说,如果Oracle Block的大小是4KB,操作系统I/O缓 冲区大小
转载
2023-10-24 09:58:49
65阅读
1.SELECT子句中避免使用 " * " ORACLE在解析的过程中, 会将"*" 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间。2.减少访问数据库的次数 ORACLE在内部执行了许多工作: 解析SQL语句, 估算索引的利用率, 绑定变量 , 读数据块等。3.整合简单、无关联的数据库访问 如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中
转载
2024-02-23 19:48:08
78阅读
操作背景:
某业务局点,oracle9208数据库+AIX5306,由于业务增长迅速,相对应的几个表数据增长很快,影响系统运行速度。需要对其进行清理。由于该表有大量数据如果直接执行delete操作不能很快释放所占用的表空间,需做:
1. TABLEA表进行truncate操作来释放表空间;
2. TABLEB表没有本地索引,需要新建本地索引
推荐
原创
2011-06-17 17:37:22
2734阅读
点赞
2评论
1、oracle千万级别大表分页查询 传统oracle分页使用如下结构: select * from ( select fundacco,rownum rowno from tbl_20191231 where rownum <= #{end}) b where b.rowno > #{start} ...
转载
2021-10-30 18:34:00
4031阅读
点赞
3评论
Oracle大表清理truncate .. reuse storage deallocate_unused_clausePurposeUse the deallocate_unused_clause to explicitly deallocate unused space at the end of a database object segment and make the space ava
原创
2021-04-16 21:47:44
561阅读
1、表名,小写转大写。如下:my_test转换MY_TEST DECLARE v_tablename_x VARCHAR2(20); v_tablename_d VARCHAR2(20); begin v_tablename_x:='my_test'; v_tablename_d:='MY_TEST
转载
2021-01-06 11:55:00
935阅读
ORACLE多表关联ORACLE外链接案例:关键条件ON与WHEREWHERE影响了谁总结ON与WHERE ORACLE外链接ORACLE常用的外连接LEFT JOIN //左外连接
RIGHT JOIN //右外连接关于外连接使用一定要谨慎小心 ON 与WHERE 通过一个实际的情况做一下总结行描述案例:我是抽出来的一部分数据做个DEMO样例 1.主业务表线路站点表 我导入了2条线路52条站点
转载
2024-04-11 10:14:28
106阅读
Oracle大表清理truncate .. reuse storage deallocate_unused_clausePurposeUse the deallocate_unused_clause to explicitly deallocate unused space at the end of a database object segment and make the space ava
原创
2021-04-10 20:33:07
445阅读
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t wh
转载
2023-11-16 13:32:54
85阅读