MySQL 高级

linux下安装 MySQL 5.5

linux 环境下尽量不要出现中文和空格

MySQL 日志文件

  • log-bin
    二进制文件
  • log-err
    错误日志
  • log
    查询日志

MySQL 数据文件

  • .frm 文件 存放表结构
  • .myd 文件 存放表数据
  • .myi 文件 存放表索引

可能随引擎和版本不同而不同

MySQL 逻辑架构

在这里插入图片描述

  1. 连接层
  2. 服务层
  3. 引擎层
  4. 存储层

MySQL 存储引擎

对比项 MyISAM InnoDB
主外键 不支持 支持
事务 不支持 支持
行表锁 表锁,不适合高并发 行锁,适合高并发
缓存 只缓存索引,不缓存数据 缓存索引和数据
占用空间
关注点 性能 事务
是否默认安装

MySQL 性能下降的原因

  • 查询语句差
  • 索引失效
  • 关联查询使用过多 join
  • 服务器参数设置不合理

SQL 执行加载顺序

手写顺序

SELECT
FROM 
JOIN
ON
WHERE
GROUP BY
HAVING
ORDER BY
LIMIT

机读顺序

FROM
ON
JOIN
WHERE
GROUP BY
HAVING
SELECT
DISTINCT
ORDER BY
LIMIT

七种 JOIN 理论

SELECT
FROM a
INNER JOIN b
ON a.Key = b.Key
SELECT
FROM a
LEFT JOIN b
ON a.Key = b.Key
SELECT
FROM a
RIGHT JOIN b
ON a.Key = b.Key
SELECT
FROM a
LEFT JOIN b
ON a.Key = b.Key
WHERE b.Key IS NULL
SELECT
FROM a
RIGHT JOIN b
ON a.Key = b.Key
WHERE b.Key IS NULL
SELECT
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值