MySQL
文章平均质量分 79
数据库MySQL
jinyangjie0
学如逆水行舟,不进则退
展开
-
MySQL存储引擎InnoDB详解(三)逻辑存储结构
一、索引组织表 在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表(index organized table)。 每张表都有个主键(Primary Key),如果在创建时没有显式地定义主键,则InnoDB存储引擎会按如下方式选择或创建主键:首先判断表中是否有非空的唯一索引(Unique NOT NULL),如果有,即作为主键当表中有多个非空唯一索引时,InnoDB存储将选择建表时第一个定义的非空唯一索引为主键。如果不符合上述条件,InnoDB存原创 2022-01-28 22:02:20 · 386 阅读 · 0 评论 -
MySQL存储引擎InnoDB详解(二)存储引擎文件
每个表存储引擎有自己独有的文件。一、表空间文件 InnoDB采用将存储的数据按表空间(tablespace)进行存放的设计。 默认配置下有一个初识大小为10M,名为ibdata1的文件,默认的表空间文件(tablespace file)。 通过参数innodb_data_file_path设置文件 innodb_data_file_path=/db/ibdata1:2000M;/dr2/db/ibdata2:2000M:autoextend 表示将/db/ibdata1和/dr2/原创 2022-01-28 21:00:00 · 1583 阅读 · 0 评论 -
MySQL存储引擎InnoDB详解(一)日志文件
本系列是《MySQL技术内幕 InnoDB 存储引擎 第2版》的学习笔记。 MySQL包含的日志文件类型:错误日志(error log)慢查询日志(slow query log)查询日志(log)二进制日志(binlog)一、错误日志 记录了所有的错误信息 遇到问题时,优先查看该文件定位。 通过命令 SHOW VARIABLES LIKE 'log_error' 来定位文件。 错误文件名称一般为主机名,文件格式.err。二、慢查询日志 慢查原创 2022-01-27 22:43:40 · 1203 阅读 · 0 评论 -
简述MySQL存储引擎MyISAM 和 InnoDB 的区别
MySQL 5.5 之前,MyISAM 引擎是 MySQL 的默认存储引擎。 5.5 版本之后,MySQL 引入了 InnoDB(事务性数据库引擎),MySQL 5.5 版本后默认的存储引擎为 InnoDB。1.是否支持行级锁 MyISAM 只有表级锁(table-level locking),而 InnoDB 支持行级锁(row-level locking)和表级锁,默认为行级锁。表级锁: MySQL 中锁定 粒度最大 的一种锁,对当前操作的整张表加锁,实现简单,资源消耗也比较少,加锁快原创 2022-01-27 20:10:12 · 889 阅读 · 0 评论 -
MySQL索引设计规范
源自资料整理。1. 限制每张表上的索引数量,建议单张表索引不超过 5 个索引并不是越多越好!索引可以提高效率同样可以降低效率。索引可以增加查询效率,但同样也会降低插入和更新的效率,甚至有些情况下会降低查询效率。因为 MySQL 优化器在选择如何优化查询时,会根据统一信息,对每一个可以用到的索引来进行评估,以生成出一个最好的执行计划,如果同时有很多个索引都可以用于查询,就会增加 MySQL 优化器生成执行计划的时间,同样会降低查询性能。2. 禁止给表中的每一列都建立单独的索引5.6 版本之前,一个原创 2022-01-26 17:26:52 · 1179 阅读 · 0 评论 -
MySQL高性能数据表和字段设计规范
一、数据库基本设计规范1. 数据库和表名称规范所有数据库对象和表名称必须使用小写字母并用下划线分割。所有数据库对象和表名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)。数据库对象和表的命名要能做到见名识意,并且最后不要超过 32 个字符。表名称推荐使用模块名缩写做前缀,如sys_,让同模块的表聚集排列,方便查看使用。2. 所有表必须使用 Innodb 存储引擎没有特殊要求(即 Innodb 无法满足的功能如:列存储,存储空间数据等)原创 2022-01-26 15:44:15 · 838 阅读 · 0 评论 -
MySQL-学习数据库必备的基础知识
一、基础概念元组 : 元组(tuple)是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。 在二维表里,元组也称为行。码 :码就是能唯一标识实体的属性,对应表中的列。候选码 : 若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何、子集都不能再标识,则称该属性组为候选码。例如:在学生实体中,“学号”是能唯一的区分学生实体的,同时又假设“姓名”、“班级”的属性组合足以区分学生实体,那么{学号}和{姓名,班级}都是候选码。主码 : 主码也原创 2022-01-25 22:05:10 · 2304 阅读 · 0 评论