0%

因为楼主有个不好的习惯, 论文看完后, 过了一段时间就忘了讲什么,另外英语并不是很好,英文论文常常理解抓不住重点,因为习惯做一个笔记, 方便以后进行会议, 也方便理解论文。 后期会不定时进行更新。有一些论文是之前留下的笔记,做了一些梳理。

有一些论文,还没有读完, 读完的,会有link

Database

System

Optimizer

BigData

Abstract

转载:performance_schema

performance schema 是一个存储引擎, 可以提供对mysql 所有指标的监控, 是一套非常详细而复杂的监控系统, 不同的指标,使用了不同的接口, 另外有几个特点:

  1. 它是运行时态, 因此是全内存存储, 重启后会丢失之前的数据
  2. 为了减少对运行时态的影响, 绝大部分资源都是提前申请好, 在performance_schema 初始化的时候,已经申请好了。涉及到2块内存, 一个是class 配置信息, 一个pfs state
  3. 不能增加sql 种类和语法

本文主要分 3块:

  1. 初始化
  2. 基本数据结构
  3. 使用过程

初始化

分为几个步骤

  1. 准备pfs 内部系统的内存监控的类
  2. 准备好pfs 配置的内存, pfs 配置主要用于设置pfs_xx_class
  3. 初始化pfs -- 初始化的核心操作, 最主要的核心操作是准备好PFS需要的资源,尤其是内存申请, class, pfs 监控项的container, 以mutex 为例: 申请param->m_mutex_class_sizing 个PFS_mutex_class, 存储到PFS_mutex_class的mutex_class_array中, 另外会申请监控項的container 如global_mutex_container
  4. 设置好所有的service,
  5. 把所有的pfs 的key 注册到pfs 中, 方便后续使用
Read more »

Abstract

心血来潮,想测试一下阿里云的essd 和阿里云的本地ssd 性能, 不巧的是阿里云ecs 的存储, 有几种类型, essd, ssd 云盘, 高效云盘 和本地盘nvme 盘 最终测试下来确实nvme 盘的性能最好。

测试工具: 本文用sysbench 进行测试, 以前读书的时候使用过iometer 进行测试, sysbench 测试参数更多, 对iops 的测试效果更丰富, iometer 偏重吞吐量的测试。

Read more »

Abstract

把过去的写的一篇笔记分享一下, 数据库最常用的测试三套件, sysbench -- oltp 测试, tpch -- olap 测试, tpcc -- 事务性能测试。 本文手把手 一步一步 run tpcc

整个过程, 分为

Abstract

把过去的写的一篇笔记分享一下, 数据库最常用的测试三套件, sysbench -- oltp 测试, tpch -- olap 测试, tpcc -- 事务性能测试。 本文手把手 一步一步 run sysbench

整个过程, 分为 * 介绍 * 准备工作 * 编译 * 测试 * 疑难杂症

Read more »

Abstract

把过去的写的一篇笔记分享一下, 数据库最常用的测试三套件, sysbench -- oltp 测试, tpch -- olap 测试, tpcc -- 事务性能测试。 本文手把手 一步一步 run TPCH, 即使从来没有跑过数据库的,也可以直接上手运行TPCH, 本文以运行TPCH on MySQL, 如果读者想要运行tpch 到postgres 或者其他的数据, 可以先参考本博文,然后基于本博文,再到github上搜索相应数据库的TPCH 库 即可。

整个过程, 分为 * 介绍 * 编译 * 数据生成 * 数据加载 * 性能测试 * 表结构介绍

Read more »

这篇文章介绍的非常好, 所以给大家推荐一下 【转载】https://blog.csdn.net/n88Lpo

Abstract

排序(filesort)作为DBA绕不开的话题,也经常有朋友讨论它,比如常见的问题如下: * 排序的时候,用于排序的数据会不会如Innodb一样压缩空字符存储,比如varchar(30),我只是存储了1个字符是否会压缩,还是按照30个字符计算? * max_length_for_sort_data/max_sort_length 到底是什么含义? * original filesort algorithm(回表排序) 和 modified filesort algorithm(不回表排序) 的根本区别是什么? * 为什么使用到排序的时候慢查询中的Rows_examined会更大,计算方式到底是什么样的? 在MySQL通常有如下算法来完成排序: * 内存排序(优先队列 order by limit 返回少量行常用,提高排序效率,但是注意order by limit n,m 如果n过大可能会涉及到排序算法的切换) * 内存排序(快速排序) * 外部排序(归并排序) 但是由于能力有限本文不解释这些算法,并且本文不考虑优先队列算法的分支逻辑,只以快速排序和归并排序作为基础进行流程剖析。

我们在执行计划中如果出现filesort字样通常代表使用到了排序,但是执行计划中看不出来下面问题: * 是否使用了临时文件。 * 是否使用了优先队列。 * 是original filesort algorithm(回表排序)还是modified filesort algorithm(不回表排序)。 如何查看将在后面进行描述。本文还会给出大量的排序接口供敢兴趣的朋友使用,也给自己留下笔记。

Read more »

Abstract

【转载】http://www.manongjc.com/detail/17-ssuthexbuzbjmlb.html 本文章向大家介绍Mysql聚簇索引和非聚簇索引,主要包括Mysql聚簇索引和非聚簇索引使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

基本介绍

聚簇索引并不是一种单独的索引类型,而是一种数据存储方式,具体的细节依赖于实现方式,InnoDB的聚簇索引实际上在同一个结构中保存了B+Tree索引和数据行。

当表中有聚簇索引时,它的数据实际上存储在索引的叶子页中(叶子页中包含了行的全部数据)。而没有聚簇索引时B+Tree叶子页存放的是指向数据的指针。(页是mysql存储引擎最小的存储单元,InnoDB每个页默认大小为16k)可以理解为 有聚簇索引时,数据和对应的叶子页在同一页中,没有聚簇索引时,叶子页和对应的数据不在同一页中。

InnoDB存储引擎通过主键聚集数据(聚簇索引),如果没有定义主键,InnoDB会选择一个唯一的非空索引代替。如果没有唯一索引,InnoDB会隐式定义一个主键来作为聚簇索引。InnoDB 只聚集在同一个页面中的记录。包含相邻健值的页面可能相距甚远。

Read more »