暂无图片
如何快速的从千万级别数据表查找多条数据
我来答
分享
zsh
2021-10-11
如何快速的从千万级别数据表查找多条数据

请教个问题:有1万个Id,从一个千万级别的数据表里面查,用什么方法比较快?盼赐复

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
猫瞳映月

可以通过有索引的字段查询比较快喔~

select * from 表名 where col='id3'

暂无图片 评论
暂无图片 有用 0
打赏 0
zsh
题主
2021-10-11
这个id 就是唯一主键
猫瞳映月
答主
2021-10-11
那你可以使用主键来查,这样最快。或者你需要查哪几条数据,然后去对应的字段上检索这些数据,如果对应的字段上有创建索引,查询会非常快,如果没有索引可能会很慢,您执行的时候可以看看执行计划。不懂的可以贴图到这里来,希望能帮到您,如果能解决请点个采纳,手动滑稽~
薛晓刚

只有有索引。用到了。别说千万级别。就是几十亿级别也是在毫秒级别。

暂无图片 评论
暂无图片 有用 0
打赏 0
Uncopyrightable

需要看表结构和sql语句,有没有列可以创建合适的索引方式,大部分可以看下执行计划,根据执行计划进行下一步优化;

看题目好像根据id方式创建索引不是合理方式,存在大量重复值,

暂无图片 评论
暂无图片 有用 0
打赏 0
阿毛

建一个临时表,只存这些ID值,然后分别在两个表上建上对应的索引,做个表连接就行。

类似于:select b.id,a.* from table1 a left join table2 b on a.id=b.id;

这个b表就是你建的临时表,a表就是要查询的表。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
oracle truncate之后能否恢复?
回答 8
已采纳
可以用大佬Fuyuncat的一个脚本,叫FYRecoverData可以实现truncate之后的恢复。脚本如下:createorreplacepackagesys.FYRecoverDataisCre
Oracle备份到nfs,中间中断了,可以删除吗?
回答 6
可以删除,已经脱离了rman管理了,没有影响。
Oracle 11.2中分区表查询时条件用自定义函数解释计划能识别正确,19c就要搜索全部分区,这是什么问题?
回答 1
提供个示例。如有建表SQL一并提供更好。
Oracle中怎么写一个正则表达查出某个字段包含中文的值?
回答 1
已采纳
字符集字数Unicode编码基本汉字20902字4E009FA5基本汉字补充90字9FA69FFF扩展A6592字34004DBF扩展B42720字200002A6DF扩展C4153字2A7002B7
Oracle中在system下建立job,怎么指定到别的用户建立job运行?
回答 1
已采纳
登录该用户创建
有 Oracle 透明网关相关文档吗?
回答 1
https://docs.oracle.com/en/engineeredsystems/advancedsupportgateway/security/gprow.htmlscrolltoc
存储过程报错
回答 3
已采纳
以前我遇到过类似的问题,那个项目中我使用了wmconcat这个函数,sql比较复杂,直接查询没问题,放到存储过程中就报ora22922,后来换成用listagg就好了,但我不确定题主是不是遇上了同样的
num_rows为0插入数据会慢吗?
回答 1
已采纳
与这个数值并没有绝对关系,比如的确就是个全新的表,收集了统计信息就是0行,这个时候插入一般不会慢。但是,如果表数据存在高水位(比如有过大量的delete)、索引建得又复杂又多、表上有复杂逻辑的触发器等
alterlog报错
回答 4
ifconfiglomtu16384我这个lo的值是65536了还需要修改吗
在Oracle同一个库里面能同时对多个新加的卷组执行alter diskgroup rebalance命令吗?
回答 1
已采纳
可以一起加到ASM磁盘组,逗号隔开
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~