第2章 MySQL基准测试

基准测试有两种策略:一是针对整个系统的整体测试,二是单独测试MySQL。也叫集成式和单组件式。

下面为测试何种指标:

吞吐量:是单位时间内的事务处理量。

百分比响应时间

Web服务器并发性:会话处理机制可以存储多少数据
并发性:任意时间有多少并发的请求
(一个应用可能有成百上千的数据库连接,但只有几十个在执行查询)

可扩展性


概念:TPS(每秒处理事务数)
QPS(每秒查询次数)

缓存命中:用已有的副本为某些达到缓存的请求提供服务。

sysbench工具(多线程系统压测工具):不仅可以测试数据库性能,还能测试运行数据库的服务器的性能。


第3章 服务器性能剖析

是什么导致了性能低下:

  1. 资源请求过多,导致匮乏
  2. 配置错误
  3. 资源已损坏

第4章
4.1 需要优化的数据类型

整形比字符串占用更少
最好指定列为NOT NULL
对于经常变更的数据,CHAR比VARCHAR更好。它是定长的,不容易产生碎片。
BLOB和TEXT类型,为很大数据设计的字符串类型,分别用二进制和字符方式。
枚举字段按内部存储的整数排序的,而非字符串。
MySQL会将每个数据的位置存储为整数,且在表的.frm文件中保存数字-字符串关系。
避免使用ENUM,SET,BIT
TIMESTAMP占存储空间小,默认第一个列值为当前时间。

范式化和反范式化
范式化:把 1 2 3的表拆成1 2和2 3

  • 更新操作快
  • 范式化的表通常更小
  • 很少有多余的数据意味着很少用DISTINCT和GROUP BY
  • 缺点:通常需要关联

inner join(等值连接) 只返回两个表中联结字段相等的行

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录

right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录

索引:不需要表名.属性就能调用的属性?

4.4 缓存表与汇总表
有时候提升性能最好的方法是在同一张表中保存衍生的冗余数据。有时候也要创建完整独立的缓存表。
缓存表是比较简单可以从其他scheme表获取数据的表,汇总表保存GROUP BY汇总的表。
两种表必须决定是实时维护还是定期重建。
建额外索引,增加冗余列,写变慢,读变快

快速创建MyISAM索引:只对非唯一索引有效,禁用索引,载入数据,重启索引

《高性能MySQL》第2章~第4章相关推荐

  1. 关于高性能mysql的读书报告_《高性能MySQL》读书笔记:第一章[MySQL架构与历史]...

    <高性能MySQL>读书笔记:第一章[MySQL架构与历史] MySQL逻辑架构 MySQL最优秀的一点就是它的存储架构,将查询处理,系统任务,数据存储/提取相分离 并发控制 通过读写锁实 ...

  2. 《高性能MySQL》读书笔记-第6章-性能查询优化

    查询优化 索引优化 库表结构优化需要齐头并进,一个不落. 6.2 慢查询基础:优化数据访问 6.2.1是否向数据库请求了不需要的数据 limit限制行数 不要总是select * 6.2.2 是否在扫 ...

  3. 高性能MySQL(3th)(第一章 MySQL概述) —— 04 InnoDB和MyISAM

    一 InnoDB和MyISAM存储方式 聚簇 VS 非聚簇 InnoDB采用聚簇索引的方式存储数据,即主键索引(若没有设置unique索引则InnoDB会默认给主键创建索引)和数据一起存储,或者说,表 ...

  4. 《MySQL知必会》第一章了解SQL

    大家好! 我是小黄,很高兴又跟大家见面啦 ! 今天更新的是: <MySQL知必会>第一章了解SQL. 往期检索:程序设计学习笔记--目录 创建时间:2020年12月5日 软件版本: Min ...

  5. mysql query 优化_第 8 章 MySQL 数据库 Query 的优化

    前言: 在之前"影响 MySQL 应用系统性能的相关因素"一章中我们就已经分析过了Query语句对数据库性能的影响非常大,所以本章将专门针对 MySQL 的 Query 语句的优化 ...

  6. MySQL数据库 第0章:每章SQL命令总结

    MySQL数据库 第0章:每章SQL命令总结 MySQL数据库 第1章:数据库入门 MySQL数据库 第2章:数据库基本操作 MySQL数据库 第3章:数据类型与约束 MySQL数据库 第4章:数据库 ...

  7. 《高性能MySQL》の复制

    2019独角兽企业重金招聘Python工程师标准>>> 0x00前言 本书讲述到定稿前的MySQL5.5版,所以下面内容的适用范围止步于MySQL5.5.本文仅仅强调书中讲述的重中之 ...

  8. 高性能MySQL数据库(含二级考试)-张晨光-专题视频课程

    高性能MySQL数据库(含二级考试)-565人已学习 课程介绍         打造高性能MySQL数据库,完善的课程体系,基础+实操让你学透Mysql,高效解决企业数据库性能问题掌握MySql核心技 ...

  9. 转-《高性能mysql》并不是一本好书——SQL笔记

    转自: https://book.douban.com/review/8122660/ 版权归作者所有,任何形式转载请联系作者. 作者:姚泽源(来自豆瓣) 来源:https://book.douban ...

  10. 高性能MySQL(4)——查询性能优化

    査询优化.索引优化.库表结构优化需要齐头并进,一个不落. 一.为什么查询速度为变慢 在尝试编写快速的查询之前,需要清楚一点,真正重要是响应时间.如果把查询看作是一个任务,那么他由一系列子任务组成,每个 ...

最新文章

  1. AI新方向:对抗攻击
  2. android java 给控件设置style,在Android Lollipop for Material Design中为SwitchCompat按钮设置样式/着色...
  3. Github上的十大机器学习项目
  4. 限流算法——漏桶算法和令牌桶算法介绍
  5. 超全的Android组件及UI框架
  6. java基础---Math工具类
  7. linux内核ufs设备树,Linux内核初始化流程笔记
  8. 我的世界服务器显示玩家坐标,我的世界手游版怎么显示玩家坐标
  9. dsu on tree(Educational Codeforces Round 2: E. Lomsat gelral)
  10. mysql date 索引_SQL 中 IS NULL 可以走索引
  11. java中如何表示圆周率
  12. ORACLE 完美卸载
  13. spring5简单整理
  14. 802.11ac双频
  15. Rainbow: Combining Improvements in Deep Reinforcement Learning
  16. 【商业信息】国家地区语言缩写码
  17. 转战物联网·基础篇02-物联网中的角儿
  18. python文本字符分析
  19. 石膏板GCC认证床垫GCC认证亚马逊美国
  20. 三天让车跑起来!stm32循迹车 —— 第一天:基本模块使用方法

热门文章

  1. onenote 模板_onenote实用?炫酷功能系列篇②:用插件让效率翻倍
  2. 明知道计算机是吃青春饭,为什么还有那么多人前仆后继
  3. vim 寄存器 操作_说实话,Intellij IDEA 自带的 Vim 插件真心不错。。。
  4. 如何用 Visual Studio 2017 开发 Arduino 应用程序
  5. 基于八叉树的区域增长点云分割算法
  6. Xtreme ToolkitPro 编译选项
  7. 关于基类和子类构造函数的问题
  8. 公务员考试中公共基础知识计算机,2012山东省公务员考试公共基础知识最新考试试题库(完整版)...
  9. 校招真题练习001 牛牛找工作(网易)
  10. 《社交网站界面设计(原书第2版)》——1.12 传感器在交互中的作用