《Oracle database 9i/10g/11g编程艺术》一书中讲死锁章节提到,导致死锁的头号原因是外键未加索引,给出的例子是
第一步建表:
create table p (x int primary key);
create table c (x references p);
insert into p values (1);
insert into p values (2);
commit;
第二步:
1)第一个会话执行
insert into c values (2);
2)第二个会话执行
delete from p;
执行后阻塞
3)第三个会话执行
insert into c values (2);
执行后阻塞
4)第一个会话执行
commit;
第三个会话就会发生死锁
书上说表C加上索引就行了,结果还是不行
create index index_c_x on c(x);
可是运行结果和没有索引时一样的
分享到:
相关推荐
总之,Oracle外键不加索引可能导致死锁,特别是在并发操作中。通过为外键创建索引,可以显著提高查询效率,减少死锁的风险。在数据库设计和优化过程中,理解这些概念并合理应用索引,对于维护数据库的稳定性和性能至...
《Oracle9i/10g编程艺术》这本书深入探讨了Oracle数据库系统在9i和10g版本中的编程技术和最佳实践。Oracle数据库是全球广泛使用的大型企业级数据库管理系统,9i和10g版本在当时引入了许多创新特性,极大地提升了...
在Oracle 10g中,常见的约束类型包括NOT NULL(不允许为空)、UNIQUE(唯一性)、PRIMARY KEY(主键)、FOREIGN KEY(外键)和CHECK(检查条件)。理解这些约束的用途和用法是设计高效数据库的关键。 5. **用户管理...
通过学习这本Oracle_Database 10g SQL Fundamentals I中文教材,读者将具备使用SQL语言操作Oracle数据库的基本技能,为进一步深入学习Oracle数据库的其他高级特性奠定基础。同时,繁体中文的设置使得中国用户可以更...
《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...
Oracle Database 11g SQL开发指南是一本专为SQL初学者和有经验的数据库管理员设计的书籍,旨在帮助读者深入理解和熟练运用Oracle数据库系统中的SQL语言。这本书包含了大量的实例脚本,供读者实践和学习。以下是一些...
Oracle Database 11g SQL Fundamentals I 是一个深入学习Oracle数据库管理系统基础的教程,主要针对初学者和希望提升SQL技能的IT专业人士。Oracle 11g是Oracle公司的一个重要版本,提供了许多增强的功能和优化,使得...
《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...
Oracle Database 10g是Oracle公司推出的一款关系型数据库管理系统,它在企业级应用中广泛使用,提供了强大的数据存储和管理能力。删除表是数据库管理中的常见操作,本压缩包包含的是关于在Oracle 10g中如何删除表的...
sql学习 监控哪些外键未建索引.sql
Oracle Database 11g SQL是Oracle公司发布的一款强大的关系型数据库管理系统的重要版本,它提供了丰富的SQL功能和优化,使得数据管理、查询以及分析工作更为高效。这篇PDF文档详细介绍了Oracle Database 11g中的SQL...
sql学习 哪些表的外键未建索引.sql
### Oracle Database 11g: 2 Day DBA 学习指南 #### 一、概述与目标 **Oracle Database 11g: 2 Day DBA** 是一款旨在帮助学员在短时间内快速掌握 Oracle 11g 数据库管理技能的课程。通过两天的密集培训,学员将...
在Oracle 9i中,创建数据库需要规划数据表结构,定义字段类型、长度和约束条件,如主键、外键、唯一性等。 安装Oracle 9i是一个复杂的过程,涉及服务器硬件需求、操作系统兼容性、网络配置等。初学者应了解安装前的...
Oracle 11g SQL语言参考手册是Oracle数据库官方提供的文档,详细介绍了SQL语句在Oracle 11g数据库环境中的使用方法和语法。Oracle Database是一个广泛使用的关系数据库管理系统(RDBMS),它的11g版本在数据存储、数据...
《Oracle 11g For Dummies》是一本专为初学者设计的Oracle 11g数据库管理系统入门教程。Oracle 11g是Oracle公司推出的强大且功能丰富的数据库系统,广泛应用于企业级数据存储、管理和分析。这本书以简单易懂的方式...
### Oracle Database 10g 约束条件与状态管理 #### 一、概述 Oracle Database 10g 是一款企业级的关系型数据库管理系统,它提供了丰富的功能来确保数据的一致性和完整性。其中,约束条件是确保数据完整性的关键...
《1Z0-051-Oracle.Database 11g SQL Fundamentals I Exam Guide Exam (OCA)》是Oracle认证助理(OCA)考试的重要参考资料,主要针对Oracle Database 11g的基础SQL知识进行深入讲解。Oracle 11g是Oracle公司推出的一...