在某个数据中心提供的表中有5亿条数据,就三个字段,身份证,账号,子账号,而且似乎没有建立索引,因为使用身份证单查一条数据都要两三分钟,count一下也要三四分钟。请问怎么提升查询速度,我们不能修改对方的表,只有读权限
2条回答 默认 最新
关注
只在查询上加速的话,目前看上去只能加个并行试试了
select /*+ parallel(t,8)*/ * from 表名 t where t.身份证号='43000000000000000000'
还有,可以让对方刷新一下这个表的统计信息。
另外,如果能把这个表同步到另一个数据库,那么就可以建立索引了。
而且看你这个表结构的设计,看上去应该不是一个表,主键看上去是在子账号上,同一个身份证号应该可能对应多条数据,所以这可能是一个视图,速度慢应该是由于视图内sql逻辑比较复杂或者关联了多个表,并且身份证号应该是在账号表后面的一个属性字段,你用子账号去查可能会比用身份证号去查要快本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#java#的问题,请各位专家解答!(相关搜索:java程序)
- ¥15 linux tsi721的驱动编译后 insmod 提示 报错
- ¥20 multisim测数据
- ¥15 求无向连通网的所有不同构的最小生成树
- ¥15 模拟器的framebuffer问题
- ¥15 opencv检测轮廓问题
- ¥15 单点式登录SSO怎么爬虫获取动态SSO_AUTH_ACCESS_Token
- ¥30 哈夫曼编码译码器打印树形项目
- ¥20 求完整顺利登陆QQ邮箱的python代码
- ¥15 怎么下载MySQL,怎么卸干净原来的MySQL