weixin_40571118 2019-09-18 11:18 采纳率: 0%
浏览 767
已结题

联表查询已创建的索引却用不了。

求大神解决一下这个有关索引使用的问题:

select tric.reg_info_id,
       wmsys.wm_concat((select t.name
                         from T_COMM_CODE t
                        where t.pid = tpcc.REG_TRADE_TYPE_NUM)) as zczy
  from T_PERSON_CERTIFICATE tpcc, T_REG_INFO_CERT tric
 where tpcc.id = tric.cert_id
   and tpcc.type_code = '402880482672d83e012673e744ff0113'
   and tric.state = '1'
   and tric.examine_flag = '1'
 group by tric.reg_info_id

tpcc.id、tric.cert_id、tpcc.type_code、tric.state、tric.examine_flag这些字段我都已经加上了索引,但是通过执行计划查看T_PERSON_CERTIFICATE和T_REG_INFO_CERT两个表的索引都没有用上图片说明

在只查询T_REG_INFO_CERT表的时候发现当使用state = '1'和tric.examine_flag = '1'作为查询条件的时候也用不上索引

select tric.reg_info_id
from  T_REG_INFO_CERT tric
where tric.state = '1' and tric.examine_flag = '1'

图片说明

但是如果tric.examine_flag = '0',又莫名其妙的用上了索引,“1”和“0”数据量几乎是一样大的

select tric.reg_info_id
from  T_REG_INFO_CERT tric
where tric.state = '1' and tric.examine_flag = '0'

图片说明

求救

  • 写回答

3条回答 默认 最新

  • oracle_awen 2019-09-18 15:07
    关注

    有可能是统计信息不对,试试重新收集统计信息。可以使用如下脚本查看下表和索引的统计信息,已经选择率
    table_stat

    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛