当前位置: 首页 > news >正文

读书笔记-高性能mysql(理解mysql知识点)

第一章, mysql架构和历史

  • mysql架构图, mysql是客户端/服务器的c/s架构
mysql架构图
  • 事务的四个标准
    1. 原子性: 一个事务是一个不可分割的最小工作单元,整个事务的所有操作要么全部提交成功, 要么全部失败回滚.
    2. 一致性: 数据库总是从一个一致性的状态转换到另一个一致性的状态.
    3. 隔离性: 一个事务所做的修改在最终提交以前,对其他事务不可见.
    4. 持久性: 一旦事务提交, 则其所做的修改就会永久保存到数据库中
  • 一个支持事务功能的数据库, 需要更加强大的cpu和更大的内存, 磁盘空间. 所以,根据业务是否需要事务处理, 来选择合适的存储引擎. 可以获得更高的性能
  • 隔离的四个级别:, 未提交读, 提交读, 可重复读, 串行化, 默认级别是可重复读
  • mysql服务器层不管理事务,事务是由下层的存储引擎实现的,所以在同一个事务中,使用多种存储引擎是不可能的
  • mysql的大多数事务型存储引擎实现的都不是简单的行级锁, 基于提升并发性能的考虑, 它们一般都同时实现了多版本并发控制(MCC)
  • innodb表是基于聚簇索引建立的, 对主键查询有很高的性能,但是二级索引中必须包含主键列.
  • 如果转换表的引擎, 那么晚将失去原引擎相关的所有特性
  • 修改引擎的三种方法:1, alter table. 2, 利用mysqldump导入导出. 3, 创建与查询, insert table innodb_table select * from my myisam_table;

第二章, MySQL基准测试

  • 需要了解的基准测试套件: sysbench, 包括cpu基准测试, 文件I/O基准测试OLTP基准测试(OLTP基准模拟了一个简单的食物处理系统的工作负载)

第三章, 服务器性能剖析

  • 这本书将性能定义为完成某件任务所需要的时间度量, 换句话说, 性能即响应时间
  • 在MySQL当前版本中, 慢查询日志是开销最低、精度最高的测量查询时间的工具, 慢查询带来的开销特别小, 但是会消耗大量的磁盘空间. 所以不要长期启用慢查询日志, 只在需要收集负载样本的期间开启即可
  • MySQL还有另一种查询日志, 叫"通用查询日志", 但很少使用
  • 使用 show profile剖析单条查询

第四章, schema与数据类型优化

  • 选择优化的数据类型: 通常 1, 更小的更好; 2, 简单的更好, 整型比字符操作代价更低; 3,尽量避免NUll, 因为NUll会让mysql更难优化, 可为null的列使索引、索引统计和值比较都更复杂
  • 有符号和无符号使用的相同的存储空间, 并具有相同的性能
  • varchar类型用于存储可变长字符串, 是最常见的字符串数据类型. 它比定长类型更节省空间, 因为它仅使用必要的空间. varchar需要使用1或者2个额外的字节记录字符串的长度. varchar节省了存储空间, 所以对性能也有帮助, 但由于行是变长的, 在update时可能使行变的更长, 导致需要做额外的工作, innodb通过分裂页使行可以放进页内
  • char类型是定长的: MySQL总是根据定义的字符串长度分配足够的空间. 当存储char时, MySQL会删除所有的末尾空格.
  • 数据如何存储取决于存储引擎, 并非所有的存储引擎都会按照相同的方式处理定长和变长字符串. 不过, 填充和截取空格行为在不同的存储引擎是一样的, 因为这是在MySQL服务器层处理的
  • blob和text都是为存储很大的数据而设计的字符串数据类型, 分别采用二进制和字符方式存储
最后编辑于:2025-02-05 20:59:54


喜欢的朋友记得点赞、收藏、关注哦!!!

相关文章:

  • 【CS285】听说过“欧氏距离”,这个“马氏距离(Mahalanobis distance)”又是什么呀?
  • Redis复制性能优化利器:深入解析replica-lazy-flush参数
  • 深入解析内存池设计:从原理到手动实现
  • 推荐几款开源免费的 .NET MAUI 组件库
  • 2025-2-21 leetcode刷题情况(二叉树的修改与构造)
  • python面试题整理
  • 基于STM32的智能电力监测与需求响应系统
  • vue3 文件类型传Form Data数据格式给后端
  • 骶骨神经
  • GB28181协议详解
  • MyBatis框架详解与核心配置解读
  • 基于Django的购物商城平台的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
  • 数字内容体验的技术支持包含哪些核心功能?
  • 第八届先进算法与控制工程国际学术会议(ICAACE 2025)
  • 安科瑞能源物联网平台助力企业实现绿色低碳转型
  • 从 Linux 权限管理历史看 sudo、SUID 和 Capability 的演进
  • 毕业项目推荐:基于yolov8/yolo11的水稻叶片病害检测识别系统(python+卷积神经网络)
  • 数据结构——二叉树经典习题讲解
  • Linux下文件权限与安全
  • k8s故障处理经典案例(Classic Case of k8s Fault Handling)
  • 网站开发平台软件/销售管理系统
  • 厦门做新零售直销网站公司app/广州市新闻最新消息
  • 网站代码免费下载/营销咨询公司排名
  • 网站图片轮播怎么做/原创文章代写
  • 番号网站怎么做/百度竞价排名价格
  • 深圳做分销网站设计/网络推广计划书范文