oracle索引不执行问题小结

本文探讨了一种在不同环境下索引使用行为的变化现象,并提出了几个可能的原因,包括数据量差异和索引列的选择等。

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

这两天碰到一个问题,在一个分区表建立了索引,用sql分别在测试机数据库和生产机数据库执行,发现在测试机上面可以走索引,但是在生产机上面不走索引,咨询了一下以前的dba同事,给出了下面一些建议:

1.执行这条sql
select /*+ index(TRACE_BASE_INFO TRACE_BASE_INFO_CDX_2)*/ T.SERVER_NAME , SERVER_TIME , REFER_TYPE
from TRACE_BASE_INFO T
where SERVER_NAME = 'test.39.net'
and SERVER_TIME > '2011-03-10'
and REFER_TYPE > 0

需要注意[color=red]如果表有别名,提示也得用别名[/color]

2.测试机上的的数据量,跟生产机的数量有差别么?另外结果的数据占全表的数据百分几呢?对ORACLE来说,如果结果集占了大部分表的数据,它评估后会认为全表扫描的成本比走索引要低,所以它不走索引。

的确 我的测试机数据是1百多万,生产机数据才有7万多,很有可能问题就出现在这里。但是[color=red]还有一点我想不明白的就是我查询出来的结果是500条这个也不会占大部分表数据,不知道oracle为什么还是不走索引,很奇怪。[/color]得再多观察几次。


3.如果表是按时间分区的,那么你的索引就不需要SERVER_TIME列了,建这么多列的组合索引,需要考滤是否有必要?

这里可能我得再重新优化下索引
你不知道的SAM V系列MCU:SAM V MCU基于 ARM Cortex:trade_mark:-M7 的微控制器系列可提供最佳的连接接口组合,包括以太网 AVB、MediaLB、USB 和 CAN-FD,以及可提供高达 1500 CoreMark 的高性能 ARM Cortex-M 内核。SAM V MCU专注于音频放大器、汽车通信控制单元或车头单元的车载信息娱乐链接。 关键特性: 高性能—由于 Cortex-M7 能够以 300 MHz 的频率运行,外加前所未有的 DSP 性能,可实现高达 1500 CoreMark 先进的存储器架构— 高达 384 KB 的多端口存储器,其中高达 256 KB 可分配作为紧密耦合存储器(数据和指令),实现以 300 MHz 频率运行时零等待 以太网 AVB— SAM V71 在以太网 MAC 中嵌入了对音频视频桥接 (AVB) 的特定硬件支持。在 MAC 的硬件中实现了基于信用的流量整形,从而无需 CPU 干预 高速 USB— 主机和器件模式高速 USB 控制器集成了 PHY 以降低 BOM 成本 MOST 连接— MediaLB 3 线接口可无缝集成到 MOST 总线 音频接口— 灵活的 TDM/I2S 接口可以连接音频源、编解码器或 DSP CAN-FD— 最新的 CAN 2.0 和 CAN 灵活数据速率 (FD) 控制器可实现更高带宽 汽车等级— 通过 AEC-Q100 等级 2 (-40C/105C) 认证 2015年最新评估开发板——SAM V71 Xplained Atmel年初刚刚推出了基于SAM V71Xplained评估套件,目前已在官网发布出售。 开发板资源: 处理器:ATSAMV71Q21(ATSAMV71Q21数据手册) 用户:一个电源开关按钮、一个机械复位按钮、两个用户按钮、两个黄色LED指示灯 存储:2MB SDRAM、2MB QSPI Flash、256KByte EEPROM 网口:IEEE 802.3az 10Base-T/100Base-TX Ethernet RMII PHY 媒体接口:立体音频编解码器、相机接口、耳机和麦克风接口 SDIO接口SD连接器、CAN收发器 MediaLB接口 接口:外部调试连接器接口、一个扩展LCD接口、两个外部扩展接口、调试接口、虚拟COM口、USB接口 电源:外部电源输入、USB供电 用到的主要芯片: 基于 ARM Cortex:trade_mark:-M7 的微控制器:ATSAMV71Q21 AVR 32-bit RISC MCU:AT32UC3A4256J CAN收发器:ATA6561-GBQW 超低功耗、便携式音频编解码器:WM8904 IEEE 802.3az 10Base-T/100Base-TX Ethernet RMII PHY:KSZ8061RNBVA 2kbit I2C EEPROM:AT24MAC402-MAHM-T
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值