Exadata Smart Scan 初体验

博主在Exadata X8M - 2上安装单实例19c数据库和SSB Schema后,基线测试性能慢。经排查是SGA默认值过大致Smart Scan未启用,调小SGA重启实例后测试速度大幅提升,还提及可在Smart Scan默认启用时用参数或hint控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

找了一台Exadata X8M-2 1/4配,安装了一个单实例的19c数据库。

安装了标准的SSB Schema,事实表lineorder近4亿行,近42GB:

  NUM_ROWS     BLOCKS AVG_ROW_LEN TABLESPACE_NAME
---------- ---------- ----------- ------------------------------
 384016850    5476760          98 USERS

PARTITION_NAME   SEGMENT_TYPE         SIZE(MB)
---------------- ------------------ ----------
                 TABLE              42787.1875

在做基线测试的时候,发现性能比上一次慢了很多。
在这里插入图片描述

怀疑Smart Scan没起作用,咨询了一下同事,果然,原来是我的SGA使用了默认值,即200多G。SGA值设太大,导致Smart Scan没有启用。可以调整这个参数 _small_table_threshold tips

但我还是直接把SGA调小了,然后需要重启实例。

alter system set sga_max_size=47616M scope=spfile;

果然,这一次测试就快多了。
在这里插入图片描述
从106秒到4秒。Smart Scan过滤掉了98%的数据。

在Smart Scan默认启用的情况下,就可以使用一些参数或hint来控制Smart Scan了:

SQL> show parameter cell

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cell_offload_compaction              string      ADAPTIVE
cell_offload_decryption              boolean     TRUE
cell_offload_parameters              string
cell_offload_plan_display            string      AUTO
cell_offload_processing              boolean     TRUE
cell_offloadgroup_name               string

例如:

SQL> alter session set cell_offload_processing=false;

Session altered.

SQL> alter system flush buffer_cache;

System altered.

SQL> set timing on
SQL> @4_3
...
361 rows selected.

Elapsed: 00:00:31.40

在这里插入图片描述

禁用后确实是慢了,但还是没有慢到最初那种程度,所以模拟还是模拟。

以上所有性能测试前,均执行了以下。测试语句用的是SSB 4_3

alter system flush buffer_cache;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值