菜鸟笔记
提升您的技术认知

mysql 笔记-ag真人游戏

全局锁和表级锁

菜鸟阅读 : 287

1. 全局锁 顾名思义,全局锁就是对整个数据库实例加锁。 mysql提供了一个加全局读锁的方法,命令是flush tables with read lock(ftwrl)。当使用了这个命令,整个数据库都处于只读状态,下列几种线程会被阻塞: ...

行锁:怎么减少行锁对性能的影响

菜鸟阅读 : 277

1.行锁的定义 mysql的行锁是在引擎层由各个引擎自己实现的。但是并不是所有引擎都支持行锁。比如myisam引擎就不支持行锁,不支持行锁意味着并发控制只能用表锁,也就是同一张表在任何时刻只能有一个更新在执行。而innodb是支持行锁的,这...

事务到底是隔离还是不隔离?

菜鸟阅读 : 261

1. 引例 之前我们探讨过可重复读隔离级别下,事务t启动的时候会创建一个视图read-view。在事务t执行期间,即使有其他事务修改了数据,事务t看到的也是跟启动时一样的。 但是上次讲到行锁的时候,当事务t要更新当前行的时候,其他事务占据了...

普通索引还是唯一索引?

菜鸟阅读 : 269

1.引例 假设现在维护着一个市民系统,每个人都有唯一的一个身份证号,而且业务代码已经保证了不会写入两个重复的身份证号,如果市民系统需要按照身份证号查姓名,就会执行下面的sql语句: mysql> select name from cu...

如何给字符串字段加索引?

菜鸟阅读 : 298

1.引例 现在的系统中,很多都会包含邮箱字段,那要如何给这个字段建立索引呢? 假设,现在维护了一个用户表,其中包含邮箱,定义如下: mysql> create table suser( id int primary key, emai...

count()这么慢,我们该怎么办

菜鸟阅读 : 276

1. count(*)的实现方式 对于不同的mysql存储引擎,count(*)有不同的实现方式。 myisam引擎把一个表的总行数存在了磁盘上,因此执行count(*)的时候会直接返回这个数,执行效率很高。 inndb引擎在执行count...

orderby是如何工作的?

菜鸟阅读 : 229

1. 引言 假设我们现在有一个市民表定义如下: create table t( id int(11) not null, city varchar(16) not null, name varchar(16) not null, age i...

数据库的三大范式

菜鸟阅读 : 484

1.为什么需要数据库设计 设计数据表的时候,要考虑很多的问题: 用户需要哪些数据,我们在数据表中要保存哪一些数据 怎么保证数据表中的数据的正确性 如何降低数据表的冗余度 开发人员怎么才能更方便的使用数据库 如果数据库设计得不合理的话,可能导...

mysql 高级查询

菜鸟阅读 : 282

目录 1.左关联 2.右关联 3.子查询 4.联合查询 5.分组查询 1.左关联 mysql中的左关联(left join)是一种基于共同列的连接操作, 它将左侧表中的所有行与右侧表中匹配的行结合在一起, 如果右侧表中没有匹配的行,则结果集...

数据库索引高频面试题梳理

菜鸟阅读 : 311

引言 数据库索引的重点知识梳理~ 1、索引是什么,有什么作用,有何优缺点? 索引是帮助mysql高效获取数据的一种数据结构,通常用b树,b 树实现(mysql不支持hash) 2、为什么用b 树而不用b树,b 树有什么优势? (1)io代价...

网站地图