随笔分类 - Mysql
摘要:https://blog.csdn.net/wanghai__/article/details/6426941 看这个吧,一下就说清楚了。 https://blog.csdn.net/mashaokang1314/article/details/110480807 http://mysql.taob
阅读全文
摘要:统计数据的存储方式 InnoDB有两种存储统计数据的方式: 1. 永久性地存储统计数据: 统计数据存在磁盘上,在服务器重启之后这些统计数据依然存在。 2. 非永久性的存储统计数据: 统计数据存储在内存中,当服务器关闭时这些统计数据就被清除掉。等到服务器重启后,在某些适当场景下会重新收集这些统计数据。
阅读全文
摘要:什么是成本 I/O成本我们的表经常使用的MyISAM、InnoDB存储引擎都是将数据和索引都存储到磁盘上的,当我们想查询表中的记录时,需要先把数据或者索引加载到内存中然后再操作。这个从磁盘到内存这个加载的过程损耗的时间称之为I/O成本。CPU成本读取以及检测记录是否满足对应的搜索条件、对结果集进行排
阅读全文
摘要:这篇文章写的比较好懂:https://zhuanlan.zhihu.com/p/54275505#:~:text=%20%E7%AE%80%E5%8D%95%E6%9D%A5%E8%AF%B4%E5%B5%8C%E5%A5%97%E5%BE%AA%E7%8E%AF%E8%BF%9E%E6%8E%A5
阅读全文
摘要:查询语句在本质上是一种声明式的语法,具体执行方式有很多种。 system > const > eq_ref > ref > range > index > ALL const: mysql能对查询的某部分进行优化并将其转化成一个常量(可以看show warnings 的结果)。于 primary k
阅读全文
摘要:表空间都是由页组成的 1.通过页的类型知道该页的作用 2.不同类型的页只有File Header和File Trailer是必须存在的 3.每个表空间中一个页有一个页号,是4个字节,也就是32比特,所以最多有2³²个页 4.如果每个页默认大小16KB则一个表空间最多支持64TB,页号从0开始。 5.
阅读全文
摘要:把总结写开头: 1)像InnoDB和MyISAM这样的存储引擎都是把数据存储在文件系统上的。 MySQL服务器程序在启动的时候会到数据目录中加载数据,运行过程中产生的数据也会存储到数据目录中。系统变量datadir表明了数据目录的路径。 每个数据库都对应着数据目录的一个子目录,该子目录包含一个db.
阅读全文
摘要:几个必须了解的点: 1. 每个索引都有一棵B+树。 2. InnoDB存储引擎会自动为主键建立聚簇索引(如果没有显示指定主键,则会使用不允许存NULL的唯一键,否则会自动生成ROW_ID主键) 3. 二级索引目录项(非叶子节点)存储的是 索引列值+主键+页号。 4. B+树每层节点都按照索引列的值从
阅读全文
摘要:总结写前面如果都知道就不用看下面了:因为没用过MyISAM所以压根没看这玩意。 InnoDB存储引擎总结: InnoDB存储引擎的索引是一棵B+树,,完整的用户记录都存储在B+树第0层(从下往上数)的叶子节点中,其他层次的节点都属于内节点,内节点存储的是目录项记录。 InnoDB的索引分为两种: 聚
阅读全文
摘要:InnoDB数据存储模型用"spaces"表示,也被称为"tablespaces",有时候也被称为"file spaces",一个space可能包含多个操作系统级别的实际文件(例如ibdata1,ibdata2等)。但是只是被当做一个逻辑文件:多个物理文件只是被视为物理连接在一起。 InnoDB中每
阅读全文
摘要:一、行记录格式的分类和介绍 在早期的InnoDB版本中,由于文件格式只有一种,因此不需要为此文件格式命名。随着InnoDB引擎的发展,开发出了不兼容早期版本的新文件格式,用于支持新的功能。为了在升级和降级情况下帮助管理系统的兼容性,以及运行不同的MySQL版本,InnoDB开始使用命名的文件格式。
阅读全文
摘要:索引下推(INDEX CONDITION PUSHDOWN,简称 ICP)是 MySQL 5.6 发布后针对扫描二级索引的一项优化改进。总的来说是通过把索引过滤条件下推到存储引擎,来减少 MySQL 存储引擎访问基表的次数以及 MySQL 服务层访问存储引擎的次数。ICP 适用于 MYISAM 和
阅读全文
摘要:聚簇索引与非聚簇索引(也叫二级索引) 通俗点讲 聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据 非聚簇索引:将数据存储于索引分开结构,索引结构的叶子节点指向了数据的对应行,myisam通过key_buffer把索引先缓存到内存中,当需要访问数据时(通过索引访问数据),在内存中直接搜索索
阅读全文
摘要:事务是什么? 就是用户定义了一系列操作,这些操作可以视为一个完成的逻辑处理工作单元,要么全部执行要么全部不执行,是不可分割的工作单元。 事务四大特性(简称ACID):其实一致性才是爸爸 原子性(undo log):一个事务是不可分割的工作单位,要么全执行要么全部都不执行。 一致性(最核心和本质的要求
阅读全文
摘要:索引、事务、锁相关知识点总结 当时认真的学过,现在也忘的差不多了。 一、索引 1.聚簇索引(主键使用)2.二级/辅助索引 假设我们有一张消息表(msg),里面有3个字段。假设id是主键,token是非唯一索引,message没有索引。innodb对于主键使用了聚簇索引,这是一种数据存储方式,表数据是
阅读全文
摘要:对这些知识感兴趣的原因是因业务需要不能确定是否应该对现有机器进行扩容,日常使用CPU,磁盘IO都不高。 QPS TPS ,连接数,慢查询等关键指标也属正常。 因为部分业务使用的数据库内存偏高,长期保持在70%上下,有所疑虑。 性能类指标 QPS 数据库每秒钟处理的请求数量 TPS 数据库每秒钟处理的
阅读全文
摘要:使用on duplicate key update语法有时是很方便,但是会有一个影响:默认情况下,每次更新都会更新该表的自增主键ID,如果更新频率很快,会导致主键ID自增的很快,过段时间就超过数字类型的的范围了解决这个问题,我想到两种方式:方法一:拆分成两个动作,先查询,再更新方法二:修改innod
阅读全文
摘要:1、 show processlist; 2、select * from information_schema.innodb_trx\G 3、SELECT user, host, time, command, state,left(info,4000) FROM information_schema
阅读全文
摘要:分区表的原理 工作原理: 一、对用户而言,分区表是 一个独立的逻辑表,但是底层mysql将其分成了多个物理子表,这对用户而言是透明的,每一个分区表都会使用一个独立的表文件。 二、创建表的时候使用partition by子句定义每个分区存放的数据,执行查询时,优化器会根据分区定义过滤那些没有我们需要数
阅读全文

浙公网安备 33010602011771号