Oracle查询表数据分片

本文介绍了如何利用SQL的sample函数进行数据抽样,以粗略估计大型数据库表的行数。通过设置合适的参数,如0.001%,并结合主键或数字类型字段使用MOD()函数进行切片,可以实现对大表的快速统计。同时,这种方法可能因随机性导致多次执行结果不同,适合并发执行多条查询以提高效率。
摘要由CSDN通过智能技术生成

select * from tablename sample(0.001) order by columnname asc;

可通过抽样sql,粗略判断当前表行数;

sample()函数中参数必须大于0.000001小于100;将会按照 0.001%从表中随机抽取数据,通过判断抽取数据行数(随机),控制行数在10~100以内时,用行数除以参数,即可得到估算的表行数,由于获取的是一个随机结果集,执行相同的sql也可能会导致估算出的表行数不一致;

然后通过主键或者数字类型进行切片;

数字类型使用MOD()函数;需注意浮点型和负数;

并发执行多条查询sql;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值