oracle全表扫描166G的表只花了6分钟(一)

2014-11-24 15:53:20 · 作者: · 浏览: 0
如何最大限制利用cpu?如何最快速的扫描完大表。如果大表有主键,count(*)就会走主键,oracle只需要扫描主键就能完成。
假设这个表没有主键,那么count(*)的时候只能走全表扫描,数据就非常慢。这里用full(a)强制走全表来模拟。

--找100G以上的分区表
SQL> @getsegsize_big
Enter value for tablespace_name:
Enter value for owner:
Enter value for how_big_m: 100000

OWNER           SEGMENT_NAME                             SEGMENT_TYPE            BIG_M      BIG_G TABLESPACE_NAME
--------------- ---------------------------------------- ------------------ ---------- ---------- ---------------------
SPS_PUB         TB_IM_ORDER_QUE_GZ                       TABLE PARTITION    170579.875 166.581909 DATA_INPUT_GZ
SPS_GZ          TB_OS_LOG                                TABLE                  132687 129.577148 DATA_INPUT_GZ
CRM_GZ          TB_BA_PRODUCT_HIST                       TABLE              119860.625 117.051392 DATA_INPUT_GZ

3 rows selected.


--SPS_PUB.TB_IM_ORDER_QUE_GZ有166G,我们那这个表来测试一下

--了解数据分布情况
SQL> @getsegsize_partition
Enter value for dblink:
Enter value for segment_name: TB_IM_ORDER_QUE_GZ
Enter value for owner: SPS_PUB

OWNER                SEGMENT_NAME                   PARTITION_NAME                 SEGMENT_TYPE           BIG_M BIG_G TABLESPACE_NAM
-------------------- ------------------------------ ------------------------------ -------------------- ---------- ---------- ------
SPS_PUB              TB_IM_ORDER_QUE_GZ             P10                            TABLE PARTITION      .1         .0 DATA_INPUT_GZ
SPS_PUB              TB_IM_ORDER_QUE_GZ             P9                             TABLE PARTITION      .1         .0 DATA_INPUT_GZ
SPS_PUB              TB_IM_ORDER_QUE_GZ             P12                            TABLE PARTITION      .1         .0 DATA_INPUT_GZ
SPS_PUB              TB_IM_ORDER_QUE_GZ             P13                            TABLE PARTITION      .1         .0 DATA_INPUT_GZ
SPS_PUB              TB_IM_ORDER_QUE_GZ             P14                            TABLE PARTITION      .1         .0 DATA_INPUT_GZ
SPS_PUB              TB_IM_ORDER_QUE_GZ             P15                            TABLE PARTITION      .1         .0 DATA_INPUT_GZ
SPS_PUB              TB_IM_ORDER_QUE_GZ             P16                            TABLE PARTITION      .1         .0 DATA_INPUT_GZ
SPS_PUB              TB_IM_ORDER_QUE_GZ             P17                            TABLE PARTITION      .1         .0 DATA_INPUT_GZ
SPS_PUB              TB_IM_ORDER_QUE_GZ             P18                            TABLE PARTITION      .1         .0 DATA_INPUT_GZ
SPS_PUB              TB_IM_ORDER_QUE_GZ             P19                            TABLE PARTITION      .1         .0 DATA_INPUT_GZ
SPS_PUB              TB_IM_ORDER_QUE_GZ             P11                        
TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P8 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P7 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P6 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P44 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P43 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P42 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P41 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P28 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P29 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P30 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P31 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P32 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P33 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P34 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P35 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P36 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P37 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P38 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P39 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P40 TABLE PARTITION .1 .0 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P22 TABLE PARTITION 15,424.0 15.1 DATA_INPUT_GZ SPS_PUB TB_IM_ORDER_QUE_GZ P2