mysql 同一个字段作为2种不同的if条件作判断_MySql性能调优笔记(一)

67eaf3031a01ccd80040d2a6cf494838.png

一。Mysql内部整个结构和执行流程

MySQL简易模块图:

93a1cca95b405110f17ba37aa094ec39.png

简易图:1.连接/线程处理:主要负责连接和线程处理、授权认证、安全。

当客户端连接到mysql服务器时,服务器需要对其进行认证,认证基于用户名,原始主机信息和密码。

后期文章会首发于本专栏,也会不定时发放福利 ,欢迎关注,点赞

JAVA高级进阶​zhuanlan.zhihu.com
f0ddd42a303574c7d38f30171a3f5f8b.png

2.查询缓存/解析器:功能有解析,分析,优化,缓存,内置函数。

mysql解析查询并创建内部数据结构(解析树),然后对其优化,包括重写查询、决定表的读取顺序,以及选择合适的索引。优化器会请求存储引起提供容量或某个具体的开销信息,以及表数据的统计信息等。

3.存储引擎:负责Mysql中数据存储和提取。

数据库范式

第一范式:字段列不可分,如:【联系人】(姓名,性别,电话),一个联系人有家庭电话和公司电话,不符合 1NF;

第二范式:有主键,非主键字段完全依赖主键。如:订单明细表【OrderDetail】(OrderID,ProductID,UnitPrice,Discount,Quantity,ProductName),Discount(折扣),Quantity(数量)完全依赖(取决)于主键(OderID,ProductID),而 UnitPrice,ProductName 只依赖于 ProductID,不符合2NF;

第三范式:非主键字段不能相互依赖(如:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况),

每列都与主键有直接关系,不存在传递依赖。如:订单表【Order】(OrderID,OrderDate,CustomerID,CustomerName,CustomerAddr,CustomerCity)主键是(OrderID),CustomerName,CustomerAddr,CustomerCity 直接依赖的是 CustomerID(非主键列),而不是直接依赖于主键,它是通过传递才依赖于主键,所以不符合 3NF。

1)锁

处理并发读或写时,可以通过实现一个由两种类型的锁组成的锁系统拉埃解决。

也就是共享锁(s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值