问个SQL问题,oracle数据库,多线程查询SQL,防止查到同一条记录 20

我要按ID排序查询前五十条数据,然后别的线程也会执行相同的SQL去查询,怎么防止查到相同的记录,我现在想的是forupdate加锁,但是这样等待会影响效率,有没有大神指点... 我要按ID排序查询前五十条数据,然后别的线程也会执行相同的SQL去查询,怎么防止查到相同的记录,我现在想的是for update加锁,但是这样等待会影响效率,有没有大神指点下,也是了for update skip locked,但是这样会直接查不到数据,因为这个会忽略锁着的记录 展开
 我来答 举报
兄弟连教育
2016-07-08 · 百度知道合伙人官方认证企业
兄弟连教育
兄弟连教育成立于2006年,11年来专注IT职业教育,是国内专业的IT技术培训学校。2016年成功挂牌新三板(股票代码:839467)市值过亿。开设专注程序员培训专注php、Java、UI、云计算、Python、HTML5、
向TA提问
展开全部
可以用rownum来查询一条记录。
如emp表中有如下数据。

要求查询deptno为20的,但只取一条记录,可用如下语句:

select * from emp where deptno=20 and rownum<=1;

查询结果:
追问
我是多线程会同时执行这条SQL,然后查到的数据不能一样
本回答被网友采纳
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式