`
qq548573025
  • 浏览: 1677 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Oracle database 9i/10g/11g编程艺术中,外键未加索引导致死锁的问题

阅读更多

《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外键不加索引引起死锁示例

    总之,Oracle外键不加索引可能导致死锁,特别是在并发操作中。通过为外键创建索引,可以显著提高查询效率,减少死锁的风险。在数据库设计和优化过程中,理解这些概念并合理应用索引,对于维护数据库的稳定性和性能至...

    Oracle9i10g编程艺术

    《Oracle9i/10g编程艺术》这本书深入探讨了Oracle数据库系统在9i和10g版本中的编程技术和最佳实践。Oracle数据库是全球广泛使用的大型企业级数据库管理系统,9i和10g版本在当时引入了许多创新特性,极大地提升了...

    Oracle 10g 数据库入门与实践

    在Oracle 10g中,常见的约束类型包括NOT NULL(不允许为空)、UNIQUE(唯一性)、PRIMARY KEY(主键)、FOREIGN KEY(外键)和CHECK(检查条件)。理解这些约束的用途和用法是设计高效数据库的关键。 5. **用户管理...

    Oracle_Database 10g SQLFundamentals I 中文教材

    通过学习这本Oracle_Database 10g SQL Fundamentals I中文教材,读者将具备使用SQL语言操作Oracle数据库的基本技能,为进一步深入学习Oracle数据库的其他高级特性奠定基础。同时,繁体中文的设置使得中国用户可以更...

    Oracle_Database_11g完全参考手册.part2/3

    《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...

    oracle database 11g sql 开发指南 书中脚本

    Oracle Database 11g SQL开发指南是一本专为SQL初学者和有经验的数据库管理员设计的书籍,旨在帮助读者深入理解和熟练运用Oracle数据库系统中的SQL语言。这本书包含了大量的实例脚本,供读者实践和学习。以下是一些...

    Oracle Database 11g - SQL Fundamentals I

    Oracle Database 11g SQL Fundamentals I 是一个深入学习Oracle数据库管理系统基础的教程,主要针对初学者和希望提升SQL技能的IT专业人士。Oracle 11g是Oracle公司的一个重要版本,提供了许多增强的功能和优化,使得...

    Oracle_Database_11g完全参考手册.part3/3

    《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...

    Oracle Database 10g删除表的程序.rar_oracle 10g

    Oracle Database 10g是Oracle公司推出的一款关系型数据库管理系统,它在企业级应用中广泛使用,提供了强大的数据存储和管理能力。删除表是数据库管理中的常见操作,本压缩包包含的是关于在Oracle 10g中如何删除表的...

    sql学习 监控哪些外键未建索引.sql

    sql学习 监控哪些外键未建索引.sql

    Oracle Database 11g SQL

    Oracle Database 11g SQL是Oracle公司发布的一款强大的关系型数据库管理系统的重要版本,它提供了丰富的SQL功能和优化,使得数据管理、查询以及分析工作更为高效。这篇PDF文档详细介绍了Oracle Database 11g中的SQL...

    sql学习 哪些表的外键未建索引.sql

    sql学习 哪些表的外键未建索引.sql

    Oracle_Database_11g-2_Day_DBA

    ### Oracle Database 11g: 2 Day DBA 学习指南 #### 一、概述与目标 **Oracle Database 11g: 2 Day DBA** 是一款旨在帮助学员在短时间内快速掌握 Oracle 11g 数据库管理技能的课程。通过两天的密集培训,学员将...

    Oracle 9i初学者指南

    在Oracle 9i中,创建数据库需要规划数据表结构,定义字段类型、长度和约束条件,如主键、外键、唯一性等。 安装Oracle 9i是一个复杂的过程,涉及服务器硬件需求、操作系统兼容性、网络配置等。初学者应了解安装前的...

    oracle 11g sql language reference

    Oracle 11g SQL语言参考手册是Oracle数据库官方提供的文档,详细介绍了SQL语句在Oracle 11g数据库环境中的使用方法和语法。Oracle Database是一个广泛使用的关系数据库管理系统(RDBMS),它的11g版本在数据存储、数据...

    Oracle 11g For Dummies

    《Oracle 11g For Dummies》是一本专为初学者设计的Oracle 11g数据库管理系统入门教程。Oracle 11g是Oracle公司推出的强大且功能丰富的数据库系统,广泛应用于企业级数据存储、管理和分析。这本书以简单易懂的方式...

    oracle database 10g 中文手册

    ### Oracle Database 10g 约束条件与状态管理 #### 一、概述 Oracle Database 10g 是一款企业级的关系型数据库管理系统,它提供了丰富的功能来确保数据的一致性和完整性。其中,约束条件是确保数据完整性的关键...

    1Z0-051-Oracle.Database 11g SQL Fundamentals I Exam Guide Exam(OCA)

    《1Z0-051-Oracle.Database 11g SQL Fundamentals I Exam Guide Exam (OCA)》是Oracle认证助理(OCA)考试的重要参考资料,主要针对Oracle Database 11g的基础SQL知识进行深入讲解。Oracle 11g是Oracle公司推出的一...

Global site tag (gtag.js) - Google Analytics