高性能MySQL阅读笔记一

20190522
innoDB 锁的隐式调用和显式调用
隐式调用: 在事务执行时 自动加上锁 在commi或rollback的时候会释放所有的锁
显示调用:例如SQL语句 select … lock in share mode
select … for update

MYSQL也支持 LOCK TABLES 和 UNLOCK TABLES,但这是在服务层实现的,显示调用不能执行此语句。

MVCC版本控制 只在 repeatable read 和 read commit 隔离级别下工作
innoDBmvcc是通过每条记录后加两个字段来实现的, 一个是创建时间一个是过期时间, 存储的实际是版本号
select 需要满足的条件 1.事务只能读取比自己版本号低的版本 2.行的删除版本必须大于当前事务,或未定义 这样才能获取数据
insert 保存当前系统版本号作为创建标识
delete 保存当前系统版本号作为删除标识
update 将当前系统版本号作为原来数据的删除标识
将当前系统版本号作为当前数据的创建标识

命令:show table status like ‘user’ \G 可以查看表的相关信息

innoDB 支持热备份, 工具有 mysql Enterprise Backup XtraBackup
数据和索引都放在一个文件中
myisam 全文索引 数据和索引 分别存放在 .myd 和 .myi为扩展的文件中

20190523 2-3章

基准测试 TPC-C
如果需要找到性能损耗在哪,需要找到其花的时间在哪

可以开启慢查询日志对慢查询进行分析 可以通过设置 long_query_time 为 定值捕获大于
查询时间大于这个定值的sql 不用担心日志io开销, 而且只在测试开启即可
Percona Server 慢查询日志 pt_query_digest 慢查询日志分析报告工具

重点:分析执行语句 show profile
第一步:开启profile ----- SET profiling = 1

第二步 监听查询
第三步 show profiles 查看所有执行的语句的时间
第四不,对某一句进行分析 show profile for query [query_id];

show status 可以查看一些数据库值

开启查询日志进行分析

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值