ORACLE 通过rowid或一个有索引的id列来更新数据,效率上有区别吗
例如一张表有id和name字段,id上有索引,现在需要更新其中的10万行记录,forcurin(selectrowid,idfrom表。。。。),然后update.......
例如一张表有id和name字段,id上有索引,现在需要更新其中的10万行记录,for cur in (select rowid,id from 表。。。。),然后update .....where rowid=cur.rowid和update .....where id=cur.id这两种方式,效率上有区别吗?
展开
3个回答
展开全部
直接使用rowid效率更好,因为索引列实际上也是记录了相应行的rowid
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
展开全部
理论上ROWID是比索引还快的。因为可以直接定位到数据块
追问
总共有1100多万行记录,需要更新的有400万行记录,我测试更新前10万行记录,感觉两种方式几乎没有差距啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-10
展开全部
rowid的效率更高
追问
总共有1100多万行记录,需要更新的有400万行记录,我测试更新前10万行记录,感觉两种方式几乎没有差距啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询