Mysql
MySQL相关的学习
程序员靓仔
曾任职一线互联网公司和大流量、高并发以及大数据量项目的经验。
展开
-
9. 操作系统和硬件优化
CPU内存磁盘、固态操作系统网络原创 2020-12-07 19:32:03 · 205 阅读 · 0 评论 -
8. 优化服务器设置
8.1 MySQL配置的工作原理8.1.1 语法、作用域和动态性8.1.2 设置变量的副作用key_buffer_sizetable_cache_sizethread_cache_sizequery_cache_sizeread_buffer_sizeread_rnd_buffer_sizesort_buffer_size8.1.4 通过基准测试迭代优化...原创 2020-12-07 13:15:35 · 124 阅读 · 0 评论 -
7 MySQL高级特性
7.1 分区表PARTITION BY RANGE(YEAR(order_data)) ()分区表限制:一个表最多 1024 个分区分区表无法使用外键7.1.1 分区表的原理7.1.2 分区表的类型7.1.3 如何使用分区表7.1.4 什么情况下会出现问题NULL值会使分区过滤无效分区列和索引列不匹配7.1.5 查询优化EXPLAIN PARTITIONS SELE 查看是否执行了分区过滤后面视图,触发器啥的跳过了。。。...原创 2020-12-07 13:07:37 · 64 阅读 · 0 评论 -
6. 查询性能优化
6.1 为什么查询速度会慢(这个标题有毛病?查询要是快我还学你干嘛?)6.2 慢查询基础:优化数据访问6.2.1 是否向数据库请求了不需要的数据6.2.2 MySQL是否在扫描额外的记录响应时间 扫描的行数 返回的行数6.3 重构查询的方式6.3.1 一个复杂的查询还是多个简单查询6.3.2 切分查询6.3.3 分解关联查询6.4 查询执行的基础客户端--> 查询缓存-->解析器-->预处理器-->查询优化器-->查询执行引擎--&g...原创 2020-12-07 08:51:40 · 174 阅读 · 2 评论 -
5. 创建高性能的索引
5.1 索引基础5.1.1 索引的类型B-Tree索引: B-Tree通常意味 所有的值都是按顺序存储,并且每一个叶子页到根的距离相同。B-Tree索引列式顺序组织存储的,适合查找 范围 数据。B-Tree索引适用于 全键值、键值范文或键前缀查找,其中前缀查找只能根据 最左前缀 的查找。B-Tree索引可以支持 只访问索引的查询,即查询只需要访问索引,无须访问数据行,这叫 覆盖索引。B-Tree的限制:1.如果不是按照索引的最左列开始查找,则无法使用索引。 按复合索引的顺序查询.原创 2020-12-06 23:53:31 · 79 阅读 · 0 评论 -
4. Schema与数据类型优化
4.1.1 整数类型有两种类型的数字:整数和实数。TINYINT 8位SMALLINT 16位MEDIUMINT 24位INT 32位BIGINT 64位注意: int(11) 不会限制值得合法范围,只是规定了mySQL的交互工具显示字符个数,对于存储和计算来说, INT(1) INT(20)是相同的。4.1.2 实数类型实数是带有小数部分的数字。4.1.3 字符串类型varchar:可变长字符串,比定长类型更节省空间,因为它仅使用必要的空间。char: 定长原创 2020-12-06 15:15:24 · 102 阅读 · 0 评论 -
3. 服务器性能剖析
pt-query-digestxhprofIfpSHOW PROFILES;SHOW PROCESSLIST:oprofile:tcpdump:pt-mysql-summary pt-summary 输出MySQL的状态和配置信息pt-pmpstrace -cfp $(pidof mysld) (不要在生产环境使用)pt-ioprofile原创 2020-12-06 14:57:34 · 62 阅读 · 0 评论 -
2. MySQL基准测试
sysbenchdbt2 tpc-c原创 2020-12-06 14:29:51 · 55 阅读 · 0 评论 -
1.MySQL的架构与历史一览
1.1 MySQL逻辑架构 客户端 ↓ 连接/线程处理 ↓ 查询缓存 ⬅ 解析器 ↓ 优化器 ↓ 存储引擎1.1.1 连接管理与安全性每个客户端连接都会在服务器进程中拥有一个线程,查询也在单独的线程中执行,该线程只能轮流在某个CPU核心中运行。服务器会缓存线程,因此不需要为每一个新建的连接创建或销毁线...原创 2020-12-05 13:36:52 · 134 阅读 · 0 评论