今天踩坑了,MySQL创建了一个唯一索引,唯一健冲突,冲突原因是:”字段内容值大小写MySQL不区分,当作同一条记录了处理了“。我来总结下: 目录 1:MySQL表面区分大小写 2:表字段内容区分大小写 1:MySQL表…
标签:MySql
MySQL 索引的区分度之性能分析
对于选择性不高的列甚至可以不创建索引。如果选择性不高,极端性情况下可能会扫描全部或者大多数索引,然后再回表,这样反而增加了io 的消耗,这个过程可能不如直接走主键索引性能高。 索引列的选择往往需要根据具体的业务场景来选择…
MySQL数据库的全局锁、表级锁和行级锁的全面深度解析
详细介绍了MySQL数据库中的全局锁、表级锁和行级锁的概念、使用方式,以及相关特性。 和程序中的锁一样,数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当数据出现并发访问的时候,数据库需要合理地控制资源的访问规则…
间隙锁
一.几个基本概念 行锁:给某一行加的锁 间隙锁:就是两个值之间的间隙。为了解决幻读问题,InnoDB 只好引入新的锁,也就是 间隙锁 (Gap Lock)。 间隙锁Gap,左右都是开区间,间隙锁+行锁合称next-key…
mysql 聊聊InnoDB七种锁
前言 本文将跟大家聊聊InnoDB的锁。本文比较长,包括一条SQL是如何加锁的,一些加锁规则、如何分析和解决死锁问题等内容,建议耐心读完,肯定对大家有帮助的。 为什么需要加锁呢? InnoDB的七种锁介绍 一条SQL是如…
MySQL-加锁规则(间隙锁、临键锁、行锁、表锁)
环境 MySQL version 5.6.47 隔离级别:可重复读(RR) 加锁规则 可重复读隔离级别下加锁规则 next-key lock = 间隙锁 + 行锁 原则1:加锁的基本单位是ne…
MySql各种锁机制的学习
加锁的目的: 数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。锁是用于管理对公共资源…
Mysql数据库中的各种锁
目录 概述 MyIsam 如何加表锁 并发锁 MyISAM的锁调度 InnoDB 事务(Transaction)及其ACID属性 并发事务带来的问题 InnoDB都有哪些锁? InnoDB的行锁模式及加锁方法 InnoD…
mysql读锁(共享锁)与写锁(排他锁)
概述 读锁又称为共享锁,简称S锁,顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。 写锁又称为排他锁,简称X锁,顾名思义,排他锁就是不能与其他所并存,如一个事务获取了一个数据行…
什么叫做覆盖索引?
在了解覆盖索引之前我们先大概了解一下什么是聚集索引(主键索引)和辅助索引(二级索引) 聚集索引(主键索引): &…
数据库的三大范式
1.为什么需要数据库设计 2.范式(Normal Formal) 2.1范式概述 2.2键和相关属性的概念 2.3第一范式(1NF) 2.4第二范式(2NF) 2.5第三范式(3NF) 2.6范式的优缺点 3.反范式化 …
关系数据模型——三个组成部分
关系模型的三个组成部分,是指关系数据模型的数据结构、关系数据模型的操作集合和关系数据模型的完整性约束。 关系数据模型的数据结构 主要描述数据的类型、内容、性质以及数据间的联系等,是目标类型的集合。 目标类型是数据库的祖成…