暂无图片
Oracle外键是否应该加索引?
我来答
分享
宇飞
2022-12-25
Oracle外键是否应该加索引?

Oracle外键是否应该加索引?

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新

Oracle外键不加索引是导致死锁的一个最主要的原因。这是因为,无论是更新父表主键,还是删除父表中的记录,都会在子表上加一个表锁(在这条语句完成前,不允许对子表做任何修改)。这会导致大量的数据被锁住,而大部分数据根本没有必要锁定,还会影响应用的并发性。所以,外键要加索引。

暂无图片 评论
暂无图片 有用 4
打赏 0
暂无图片
yBmZlQzJ
2022-12-25
解答真详细,学习了~
yBmZlQzJ

解答真详细,学习了~

暂无图片 评论
暂无图片 有用 2
打赏 0
Thomas

还是没有明白,子表外键加索引后,难道主表更新就不锁子表了?

暂无图片 评论
暂无图片 有用 1
打赏 0
2022-12-26
外键上有索引,数据库就能获取索引上的行锁,不用锁子表了。
ora_221

每天在墨天伦学习几个小知识,还不错~

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

Oracle外键不加索引是导致死锁的一个最主要的原因。这是因为,无论是更新父表主键,还是删除父表中的记录,都会在子表上加一个表锁(在这条语句完成前,不允许对子表做任何修改)。这会导致大量的数据被锁住,而大部分数据根本没有必要锁定,还会影响应用的并发性。所以,外键要加索引。

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


请输入正文
提交
相关推荐
oracle 有没有类似于 easycode 插件可以生成 mysql 表对应的数据的插件?
回答 1
已采纳
平时如果要向表中填充数据,我通常是定义一个存储过程直接执行,如果要测试实时写入,还可以设置一个job定期执行这个过程。
大家都在用什么工具监控oracle?
回答 9
我这边有一套针对oracle的监控软件。
oracle 迁移到X86部署案例
回答 1
https://mp.weixin.qq.com/s?bizMzkwOTIxNDQ3OA&mid2247532329&idx1&sn6ef4d539452a2ba6d4e0c6
Oracle怎么优化排序合并连接?
回答 1
已采纳
如果两表关联是等值关联,走的是排序合并连接,我们可以将表连接方式改为HASH。如果两表关联是非等值关联,比如>、>、<、<、<>,这时应该先从业务上入手,尝试将非等
Oracle怎么弄模拟数据?
回答 1
可以使用DBeaver的企业版(网上有破解版),自己创建表结构,然后选中刚创建的表单机右键——工具——GenerateMockData,可以自动生成地址、邮件、姓名等数据。
Oracle如何给一个user授予其他schema得ddl权限?
回答 4
grant。。。any
人为模拟坏块修复
回答 1
1如果坏块的行数据没被篡改是可以找回的2人为的损坏磁盘组是normal或者high没问题,如果损坏的是asm元数据信息也没问题,但是数据块被清空的话得找专门的磁盘恢复公司,将擦除前的数据恢复回来否则丢
AWR分析报告问题求助:latch free: % DB time 62.07
回答 1
查看下系统中是否存在大量硬解析以及未使用绑定变量的语句。>>系统中硬解析的数量:SELECTa.,SYSDATEb.startuptimedaysoldFROMv$sysstata,v$i
Oracle优化SQL需要看COST吗?
回答 4
已采纳
做SQL优化的时候根本不需要看Cost,因为Cost是根据统计信息、根据一些数学公式计算出来的。正是因为Cost是基于统计信息、基于数学公式计算出来的,那么一旦统计信息有误差、数学公式有缺陷,Cost
oracle 表中的 blob 存放的 jpg 图片,如何导出来。 PL/SQL 中查询,不能导出,有其它方法吗(非 业务程序里导出)?
回答 2
你是想导出到数据库服务器上还是导出到客户端本地?1.如果是导出到数据库上,用下面这个过程将BLOB转换成文件procedureblob2file(pblobblob,pdirectoryvarchar