高性能mysql

高性能mysql

阅读高性能mysql读书笔记


前言

本书大概分为几个部分

  • 数据库底层结构
  • 数据库优化
  • 高级mysql
    进行一些读书笔记用来给自己做参考,争取每天阅读一章

一、Mysql架构和历史

MySQL服务器逻辑架构图
在这里插入图片描述

  • 优化与执行:mysql会解析查询并创建内部数据结构(解析树)然后对其进行各种优化
  • 并发控制:通过锁来进行控制,在实际的数据库系统中,当某个用户在修改一部分数据时,mysql会通过锁定防止其他用户读取同一数据。
  • 锁粒度:就是在锁的开销和数据的安全性之间寻求平衡,美中存储引擎都可以实现自己的锁策略和锁粒度。
    表锁:会锁定整张表
    行锁:可以最大程度的支持并发处理
  • 事物:要么全部执行成功,要么全部执行失败
  •   原子性:不能只执行其中一部分
      一致性:没有提交的话 修改不会被保存
      隔离性:操作的时候其他事物不可见
      持久性:修改永久保存
    
  •  隔离级别:四种
    
  •  死锁:两个或者多个事物在同一资源上相互占用,并请求锁定对方占用的资源,从而造成恶性循环的现象。
    

在同一个事物中混合使用存储引擎是不可靠的

  • 多版本并发控制:乐观并发控制和悲观并发控制
  •  InnoDB的MVCC是通过每行记录后面保存的两个隐藏的列来实现的,一个保存了行的创建时间,一个保存行的过期时间(删除时间)
    
  • Mysql的存储引擎:在文件系统中,Mysql将每个数据库保存为数据目录下的一个子目录,创建表时Mysql会在数据库子目录下创建一个和表同名的.frm文件保存表的定义。
  • 介绍了很多种不同的mysql存储引擎,总结一下还是InnoDB最好用

二、MySql基准测试

这部分对于我个人来说没有太大的用处,记录一些小点吧

  • 测试哪些指标?
  •  吞吐量:单位时间内的事务处理数
     响应时间或者延迟
     并发性:这个注意一下 不要将创建数据库连接和并发性搞混,需要关注的是正在工作中的并发操作,或者同时工作中的线程数或者连接数
    
  • 获取系统性能和状态:CPU使用率,磁盘I/O,网络流量统计,计数器等等

2.读入数据

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值