[20120514]Invisible Indexes and FK问题.txt

[20120514]Invisible Indexes and FK问题.txt

SQL> select * from v$version ;

BANNER
------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

CREATE TABLE t1 AS SELECT rownum id FROM dual CONNECT BY level CREATE TABLE t2 AS SELECT rownum id FROM dual CONNECT BY level ALTER TABLE t1 ADD CONSTRAINT t1_pk UNIQUE (id);
ALTER TABLE t2 ADD CONSTRAINT t1_t2_fk FOREIGN KEY (id) REFERENCES t1 (id);

CREATE INDEX i_t2_id ON t2 (id) INVISIBLE;

会话1:
INSERT INTO t2 VALUES (1);

会话2:

DELETE FROM t2 WHERE id = 2;
DELETE FROM t1 WHERE id = 2;

--测试发现,在这样的情况下,会出现阻塞情况,
--修改索引visible,问题消失.

ALTER INDEX i_t2_id ON t2 (id) VISIBLE;

时间: 2024-09-20 00:20:56

[20120514]Invisible Indexes and FK问题.txt的相关文章

AliSQL · 特性介绍 · 支持 Invisible Indexes

前言 MySQL 8.0 引入了 Invisible Indexes 这一个特性,对于 DBA 同学来说是一大福音,索引生命周期管理除了有和无外,又多了一种形态–可见和不可见,进而对业务SQL的调优又多了一种手段. 关于 Invisible Indexes,不管是官方还是第三方,都有非常多的介绍文档,这里推荐大家可以先看下: 官方文档: Invisible Indexes 官方 server 层团队博客: MySQL 8.0: Invisible Indexes 官方 worklog: WL#8

ORACLE不可见索引(Invisible Indexes)

  不可见索引概念   不可见索引(Invisible Index)是ORACLE 11g引入的新特性.不可见索引是会被优化器忽略的不可见索引,除非在会话或系统级别上将OPTIMIZER_USE_INVISIBLE_INDEXES初始化参数显式设置为TRUE.此参数的默认值是FALSE.如果是虚拟索引是为了合理.科学新增索引而设计的,那么不可见索引就是为了合理.科学的删除索引而设计的.为什么这样说呢? 因为DBA在维护索引时,我们经常会找出无用或低效的索引,并删除这些索引,在生产环境下,删除索引

AliSQL 20170716版本发布 Invisible Indexes 功能和 SELECT FROM UPDATE 语法

Abstract 在传统的关系数据库中,想要在堆表或者索引组织表中快速的检索到目标数据,添加索引是一个常用的手段,但过多的索引不但增加空间的开销,还会带来写入性能的衰减,如何降低在线删除索引的风险,Invisible Indexes 提供了一个风险可控的方法. 在面临一个常见的业务场景,比如更新某行记录,然后查询变更后的记录内容的时候,通常都是UPDATE + SELECT 两条语句来完成,AliSQL 扩展了语法,提供SELECT...FROM UPDATE语句,在完成update变更的同时,

MySQL · 8.0新特性· Invisible Index

从MySQL8.0开始支持隐藏索引特性,也就是所谓的invisible index.对于不可见的索引,优化器将直接忽略掉.我们可以通过该特性来影响优化器的行为.另外这也可以视为在drop一个索引之前的缓冲,临时把索引设置为不可见后,再观察应用是否正常或有报错什么的,如果一切OK,再最终删除. 对应的8.0.0的release note: MySQL now supports invisible indexes. An invisible index is not used by the opti

2016全球最强数据库大盘点

数据库排名年度盘点 说到盘点,首先肯定得看看DB-Engines的全球数据库排名.下表是2017年1月份前20名数据库引擎最新排名. DB-Engines 2017-01数据库前20名列表DB-Engines 2017-01数据库前20名列表 ​DB-Engines这个排名在业界引用得非常多,权威性也很高,总体来说比较客观,它不像很多咨询机构采用市场调查,或者某个数据库厂商发布的数据,而是通过以下6个方面的统计数据来综合评估各个数据库产品得分并给出综合排名: 数据库相关网站数量(当前通过goog

【原创】安装和使用 TPCC-MySQL 工具遇到的问题

本文主要讲述 TPCC-MySQL 工具在获取和使用时遇到的问题. ============= 我是分割线 ===============         Tpcc-mysql 是 percona 基于 tpcc 衍生出来的产品,专用于 mysql 基准测试,其源码放在 bazaar 上( Bazaar 是一个分布式的版本控制系统,采用 GPL 许可协议,可运行于 Windows.GNU/Linux.UNIX 以及 Mac OS 系统之上.Bazaar 由 Canonical 公司(Ubuntu

阿里数据库内核月报:2017年07月

#01 MySQL · 引擎特性 · InnoDB崩溃恢复 #02 PgSQL · 应用案例 · 阿里云RDS金融数据库(三节点版) - 背景篇 #03 AliSQL · 特性介绍 · 支持 Invisible Indexes #04 TokuDB · 引擎特性 · HybridDB for MySQL高压缩引擎TokuDB 揭秘 #05 MySQL · myrocks · myrocks写入分析 #06  MSSQL · 实现分析 · Extend Event实现审计日志对SQL Server

【书】《数据库面试笔试宝典系列》简介

[书]<Oracle数据库面试笔试宝典>相关内容 目录 目录 - 1 - 内容介绍 - 8 - 作者简介 - 8 - 序言 - 9 - 前言 - 10 - 上篇 面试笔试经验技巧篇 - 13 - 第1章 求职经验分享 - 13 - 1.1 踩别人没有踩过的坑,犯别人没有犯过的错 - 13 - 1.2 只要肯钻研,就能成大咖 - 14 - 1.3 普通DBA的逆袭经验 - 14 - 第2章 数据库程序员的求职现状 - 15 - 2.1 当前市场对于数据库程序员的需求如何?待遇如何? - 15 -

Oracle 隐含参数

Oracle 隐含参数 点击(此处)折叠或打开 set pagesize 9999 set line 9999 col NAME format a40 col KSPPDESC format a50 col KSPPSTVL format a20 SELECT a.INDX,        a.KSPPINM NAME,        a.KSPPDESC,        b.KSPPSTVL FROM x$ksppi a,        x$ksppcv b WHERE a.INDX = b.