首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MYSQL Innodb逻辑存储结构

这几天在读《MySQL技术内幕 InnoDB存储引擎》,对 Innodb逻辑存储结构有了些了解,顺便也记录一下; 从InnoDB存储引擎的逻辑存储结构看,所有数据都被逻辑地存放在一个空间中,称之为空间...空间又由段(segment)、区(extent)、页(page)组成。页在一些文档中有时也称为(block),InnoDB存储引擎的逻辑存储结构大致如图: ?...一、空间 空间可以看做是InnoDB存储引擎逻辑结构的最高层,所有的数据都存放在空间中。默认情况下InnoDB存储引擎有一个共享空间ibdata1,即所有数据都存放在这个空间内。...如果用户启动了innodb_file_per_table,则每个内的数据可以单独放到一个空间内,但要注意的是每张空间内存放的只是数据、索引和插入缓存Bitmap页,而其他类的数据,如回滚(undo...mysql 140M Jul 28 17:46 /data/mysql/mysql_3306/data/ibdata1 (5)由于上面的事务没有提交,那么执行回滚操作,ibdata1空间的大小是不是会将到原来的大小呢

83620
您找到你想要的搜索结果了吗?
是的
没有找到

轻松搞懂MySQL逻辑结构

本文旨在从select语句的解析和执行过程, 了解 MySQL逻辑结构。 先看 select语句执行时都要经过哪些模块处理....了解了MySQL的整体结构之后, 我们再针对各功能模块逐一说明. 1. 连接器 负责建立连接、维持和管理连接, 以及验证权限。...用户登录认证通过之后, 连接器会从权限中查出对应的权限, 之后该连接相关的所有权限判断, 都依赖于此时读到的权限. 即使管理员账号对这个用户的权限做了修改, 也不会影响已经存在连接的权限。...原因是一个只要有更新, 那这个上所有的查询缓存都会被清空。很可能缓存的数据还没使用, 就被清空了。...通过以上介绍, 脑中是不已经有了 MySQL 的轮廓了.

42920

MySql之自动同步结构

MySql之自动同步结构 开发痛点 在开发过程中,由于频繁的修改数据库的字段,导致rd和qa环境的数据库经常不一致。 而由于这些修改数据库的操作可能由多个rd操作,很难一次性收集全。...解决之道 于是笔者就写了一个能够自动比较两个数据库的结构,并生成alter语句的程序。同时还可以进行配置从而自动这行这些alter语句。...详情见github 原理 同步新增的 如果rd环境新增的,而qa环境没有,此程序可以直接输出create table语句。原理如下: ?...用到的sql主要有: show table from rd_db; show create table added_table_name; 同步结构 如果rd结构有改动,而qa环境没有,此程序可以直接输出...EXTRA from information_schema.columns where TABLE_SCHEMA='rd_db' and TABLE_NAME = 'rd_table'; 比较结构的代码

4.8K30

mysql查看表的数据结构_mysql查找结构

MySQL 查看表结构 mysql查看表结构命令,如下: desc 名; show columns from 名; describe 名; show create table 名; use information_s...… mysql查看表结构命令 mysql查看表结构命令 mysql查看表结构命令,如下: desc 名;show columns from 名;describe 名;show create table...名; use inf … mysql查看表结构,字段等命令 mysql查看表结构命令,如下: desc 名; show columns from 名; describe 名; show create...’\G; mysql> show table status like ‘x’\G; . row … mysql 查看表结构方法 留给自己备查: mysql 导出为 csv 文件时如果直接使用导出命令是无法导出结构的..., 因此我们需要能够查询结构的方法: 方法如下: 1.desc(描述)命令 desc tablename;de … MySQL查看表结构及查看建表语句 查看表结构:desc mysql> use

5.6K20

亿级大如何修改结构MySQL

二、深入讨论 那我们大该如何修改结构呢?网络搜索了一圈,基本都围绕了两种方法进行:第一种是在用户访问量少的时间段,进行结构修改。第二种是采用copy替换原的方法。...三、原直接修改 对于用户访问量少的时间段进行结构修改或者类似12306这种,凌晨11点-6点进行数据维护,直接停服修改结构。...ALTER TABLE 但是如果业务迭代比较快,或者改动结构比较频繁的,系统又不允许停服(大多数系统都不允许停服),这个时候修改结构就很痛苦了,一方面是开发人员需要经常性加班,而是如果改动是核心,...4.3 切换数据丢失问题 切换名这一步,数据库层面做不了限制,首先MYSQL不支持在锁住的情况下,再去修改名。...五、总结 直接修改结构既然有这么多问题,那为什么大多数企业都选择直接修改结构呢,而不是copy替换原的形式呢。

4.7K10

快速修改MySQL某张结构

快速修改MySQL某张结构--摘录自《MySQL管理之道》 ALTER TABLE 名 MODIFY 列名 数据类型; 这个命令可以修改结构 此外,也可以如下方法修改结构: 先创建一张,如下...decimal(9,1)); 如果要修改name列为varchar(10)的,可以这样操作:alter table t1 modify name varchar(7); 也可以如下操作: 1、查看表结构...把varchar设置为10: > create table t1_tmp (id int,     name varchar(10),     rmb decimal(9,1)); 3、替换.frm结构文件...> flush tables with read lock;   先锁住,放在被打开,以免数据丢失。  ...local/mariadb/var/test/t1_tmp.frm  /usr/local/mariadb/var/test/t1.frm 4、解除锁定 > unlock tables; 5、查看表结构

4.1K20

Mysql引擎介绍及InnoDB逻辑存储结构

MySQL架构 以下是MySQL大体的组件结构 摘自https://www.rathishkumar.in/2016/04/understanding-mysql-architecture.html...64TB 支持哈希索引 No Yes No 支持全文索引 Yes No No 支持数索引 Yes Yes Yes 支持数据缓存 No N/A Yes 支持外键 No No Yes InnoDB内存/磁盘结构及存储逻辑结构...InnoDB的数据逻辑结构 从上面InnoDB的架构图里面的右半部分可以知道,无论是索引还是数据,InnoDB都把它们存在.idb后缀(或者ibdata1)的文件中。...反过来说,InnoDB为什么会做一个回这样的逻辑,其实是在牺牲部分二级索引定位数据页的性能,来换取更细粒度的锁带来的显著性能提升。...总结 其实当我们大概了解了InnoDB架构组件中各个组件的作用,以及其数据存储的逻辑结构。也就大概明白了为什么InnoDB提供了这么多其它存储引擎不能提供的相关特性。

48110

Mysql引擎介绍及InnoDB逻辑存储结构

MySQL架构 以下是MySQL大体的组件结构 ?...支持哈希索引 No Yes No 支持全文索引 Yes No No 支持数索引 Yes Yes Yes 支持数据缓存 No N/A Yes 支持外键 No No Yes InnoDB内存/磁盘结构及存储逻辑结构...InnoDB的数据逻辑结构 从上面InnoDB的架构图里面的右半部分可以知道,无论是索引还是数据,InnoDB都把它们存在.idb后缀(或者ibdata1)的文件中。...反过来说,InnoDB为什么会做一个回这样的逻辑,其实是在牺牲部分二级索引定位数据页的性能,来换取更细粒度的锁带来的显著性能提升。...总结 其实当我们大概了解了InnoDB架构组件中各个组件的作用,以及其数据存储的逻辑结构。也就大概明白了为什么InnoDB提供了这么多其它存储引擎不能提供的相关特性。

54520

ORACLE体系结构逻辑结构-空间、段、区和数据块

Oracle的逻辑结构Oracle的逻辑结构是一种层次结构。主要由:空间、段、区和数据块等概念组成。逻辑结构是面向用户的,用户使用Oracle开发应用程序使用的就是逻辑结构。...数据库存储层次结构及其构成关系,结构对象也从数据块到空间形成了不同层次的粒度关系。数据块(Data Blocks)数据块是Oracle最小的存储单位,Oracle数据存放在“块”中。...从dba_segments、user_segments视图中,可以比较清楚看清数据段的结构空间(tablespace)是数据库的逻辑划分。任何数据库对象在存储时都必须存储在某个空间中。...空间对应于若干个磁盘文件,即空间是由一个或多个磁盘文件构成的。空间相当于操作系统中的文件夹,也是数据库逻辑结构与物理文件之间的一个映射。...每个数据库至少有一个空间,空间的大小等于所有从属于它的数据文件大小的总和。TableSpace是存储结构中的最高层结构。建立一个空间的时候,是需要指定存储的文件。

6400

MySQL中的结构修改方法

阅读目录 目的 结构修改的基础语法 进阶操作 注意事项 目的 在日常的测试工作中,无论测试项目准备阶段还是测试执行阶段,团队成员经常会需要使用SQL语句进行测试数据的制作和准备,比较常用的就是增删查改等一些基础操作...,但偶尔也会涉及到修改结构的极端情况。...结构修改的基础语法 如有一张"tb_user_info"结构为: +--------+----------+------+-----+---------+-------+ | Field | Type...30) | YES | | NULL | | +--------+----------+------+-----+---------+-------+ 下面就先做一些基础的结构修改操作...drop default; 【字段无默认值的情况下,直接定义默认值即可】 alter table tb_user_info alter login_name set default 'BBB'; 修改

4.2K10

MySQL数据库:结构优化

1、数字类型: (1)非万不得已不要使用DOUBLE,不仅仅只是存储长度的问题,同时还会存在精确性的问题。...4、ENUM & SET: 对于状态字段,可以尝试使用 ENUM 来存放,因为可以极大的降低存储空间,而且即使需要增加新的类型,只要增加于末尾,修改结构也不需要重建数据。...可以尝试使用SET类型,即使存在多种属性,同样可以游刃有余,同时还可以节省不小的存储空间。...二、结构设计: 上面几点的优化都是为了减少每条记录的存储空间大小,让每个数据库中能够存储更多的记录条数,以达到减少 IO 操作次数,提高缓存命中率。...当我们的存在类似于 TEXT 或者是很大的 varchar 类型的大字段的时候,如果我们大部分访问这张的时候都不需要这个字段,我们可以将其拆分到另外的独立中,以减少常用数据所占用的存储空间。

6.9K10
领券