《高性能MySQL》第2章~第4章
第2章 MySQL基准测试
基准测试有两种策略:一是针对整个系统的整体测试,二是单独测试MySQL。也叫集成式和单组件式。
下面为测试何种指标:
吞吐量:是单位时间内的事务处理量。
百分比响应时间
Web服务器并发性:会话处理机制可以存储多少数据
并发性:任意时间有多少并发的请求
(一个应用可能有成百上千的数据库连接,但只有几十个在执行查询)
可扩展性
概念:TPS(每秒处理事务数)
QPS(每秒查询次数)
缓存命中:用已有的副本为某些达到缓存的请求提供服务。
sysbench工具(多线程系统压测工具):不仅可以测试数据库性能,还能测试运行数据库的服务器的性能。
第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章相关推荐
- 关于高性能mysql的读书报告_《高性能MySQL》读书笔记:第一章[MySQL架构与历史]...
<高性能MySQL>读书笔记:第一章[MySQL架构与历史] MySQL逻辑架构 MySQL最优秀的一点就是它的存储架构,将查询处理,系统任务,数据存储/提取相分离 并发控制 通过读写锁实 ...
- 《高性能MySQL》读书笔记-第6章-性能查询优化
查询优化 索引优化 库表结构优化需要齐头并进,一个不落. 6.2 慢查询基础:优化数据访问 6.2.1是否向数据库请求了不需要的数据 limit限制行数 不要总是select * 6.2.2 是否在扫 ...
- 高性能MySQL(3th)(第一章 MySQL概述) —— 04 InnoDB和MyISAM
一 InnoDB和MyISAM存储方式 聚簇 VS 非聚簇 InnoDB采用聚簇索引的方式存储数据,即主键索引(若没有设置unique索引则InnoDB会默认给主键创建索引)和数据一起存储,或者说,表 ...
- 《MySQL知必会》第一章了解SQL
大家好! 我是小黄,很高兴又跟大家见面啦 ! 今天更新的是: <MySQL知必会>第一章了解SQL. 往期检索:程序设计学习笔记--目录 创建时间:2020年12月5日 软件版本: Min ...
- mysql query 优化_第 8 章 MySQL 数据库 Query 的优化
前言: 在之前"影响 MySQL 应用系统性能的相关因素"一章中我们就已经分析过了Query语句对数据库性能的影响非常大,所以本章将专门针对 MySQL 的 Query 语句的优化 ...
- MySQL数据库 第0章:每章SQL命令总结
MySQL数据库 第0章:每章SQL命令总结 MySQL数据库 第1章:数据库入门 MySQL数据库 第2章:数据库基本操作 MySQL数据库 第3章:数据类型与约束 MySQL数据库 第4章:数据库 ...
- 《高性能MySQL》の复制
2019独角兽企业重金招聘Python工程师标准>>> 0x00前言 本书讲述到定稿前的MySQL5.5版,所以下面内容的适用范围止步于MySQL5.5.本文仅仅强调书中讲述的重中之 ...
- 高性能MySQL数据库(含二级考试)-张晨光-专题视频课程
高性能MySQL数据库(含二级考试)-565人已学习 课程介绍 打造高性能MySQL数据库,完善的课程体系,基础+实操让你学透Mysql,高效解决企业数据库性能问题掌握MySql核心技 ...
- 转-《高性能mysql》并不是一本好书——SQL笔记
转自: https://book.douban.com/review/8122660/ 版权归作者所有,任何形式转载请联系作者. 作者:姚泽源(来自豆瓣) 来源:https://book.douban ...
- 高性能MySQL(4)——查询性能优化
査询优化.索引优化.库表结构优化需要齐头并进,一个不落. 一.为什么查询速度为变慢 在尝试编写快速的查询之前,需要清楚一点,真正重要是响应时间.如果把查询看作是一个任务,那么他由一系列子任务组成,每个 ...
最新文章
- AI新方向:对抗攻击
- android java 给控件设置style,在Android Lollipop for Material Design中为SwitchCompat按钮设置样式/着色...
- Github上的十大机器学习项目
- 限流算法——漏桶算法和令牌桶算法介绍
- 超全的Android组件及UI框架
- java基础---Math工具类
- linux内核ufs设备树,Linux内核初始化流程笔记
- 我的世界服务器显示玩家坐标,我的世界手游版怎么显示玩家坐标
- dsu on tree(Educational Codeforces Round 2: E. Lomsat gelral)
- mysql date 索引_SQL 中 IS NULL 可以走索引
- java中如何表示圆周率
- ORACLE 完美卸载
- spring5简单整理
- 802.11ac双频
- Rainbow: Combining Improvements in Deep Reinforcement Learning
- 【商业信息】国家地区语言缩写码
- 转战物联网·基础篇02-物联网中的角儿
- python文本字符分析
- 石膏板GCC认证床垫GCC认证亚马逊美国
- 三天让车跑起来!stm32循迹车 —— 第一天:基本模块使用方法
热门文章
- onenote 模板_onenote实用?炫酷功能系列篇②:用插件让效率翻倍
- 明知道计算机是吃青春饭,为什么还有那么多人前仆后继
- vim 寄存器 操作_说实话,Intellij IDEA 自带的 Vim 插件真心不错。。。
- 如何用 Visual Studio 2017 开发 Arduino 应用程序
- 基于八叉树的区域增长点云分割算法
- Xtreme ToolkitPro 编译选项
- 关于基类和子类构造函数的问题
- 公务员考试中公共基础知识计算机,2012山东省公务员考试公共基础知识最新考试试题库(完整版)...
- 校招真题练习001 牛牛找工作(网易)
- 《社交网站界面设计(原书第2版)》——1.12 传感器在交互中的作用