avatar

数据库设计三范式

1. 数据库设计三大范式 在设计关系数据库的时候,一般来说我们都是需要遵从不同的规范要求来设计出合理的关系型数据库,这些不同的规范要 求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。 范式分为:3大范式,...

Mysql优化器追踪分析sql语句

前言 平常用 explain 就可以sql语句的性能了。但是,如果你觉得分析的不够详尽,你想查看内部的拆解过程,那么你可以试试用mysql优化器进行追踪分析 相关链...

Mysql的IO执行流程

IO流程 IO流程说明 首先就是用户发送一条SQL通过客户端接收之后,交由解析器解析SQL创建对应的解析树之后 然后优化获取对应的数据表的信息-结构 获取表中对...

MVCC 多版本并发控制机制详解

带着问题来学习 MVCC是为了解决哪些问题 ? 并发访问(读或写)数据库时,对正在事务内处理的数据做多版本的管理。我们知道锁机制可以用来控制并发操作,但是其系统开销较大。而MVCC可以...

Mysql事务的隔离级别

前言 本文所说的 MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的。 读未提交和串行化基本上是不需要考虑的隔离级别,前者不加锁限制。串行化相当于单线程执行,效率太差。 ...

Mysql中的各种锁详解

锁的基本概念 1、什么是锁? 在数据库中,锁主要用于解决并发访问时保证数据的一致性和有效性。 锁是计算机协调多个进程或线程并发访问某一资源的机制。...

PHP 中 Trait 的使用

php从以前到现在一直都是单继承的语言,无法同时从两个基类中继承属性和方法, 为了解决这个问题,php 5.4.0 出了Trait这个特性 看上去既像类又像接口,其实都不是,Trait可以看做类的部分实现,可以混入一个或多个现有的PH...