mysql
Lambdas
千里之行,始于足下
展开
-
InnoDB索引
什么是索引: 索引是存储引擎用于快速找到记录的一种数据接口,这是索引的基本功能,除此之外,在InnoDB,索引是聚集数据的一种方式(聚集索引),InnoDB的加锁机制也是通过索引实现的,相关的内容可以看我的另一篇博客《InnoDB 存储引擎》。 InnoDB索引的结构: 如图所示,在InnoDB中,索引通过B+Tree进行组织,所有的数据存在与叶子节点,叶子之间首尾相连。为什么选择B+Tree作为索引的存储结构,而不选择二叉平衡树或者B-Tree,首先我们要明确一点,数据是存在磁盘上而不是内存中,原创 2020-06-17 22:26:17 · 316 阅读 · 0 评论 -
InnoDB 存储引擎
学习Mysql有一段时间了,对SQL语法、索引、查询优化做了一定的了解,但是总感觉浮于表面,所以想换一种角度去理解Mysql-它的存储实现引擎:InnoDB。InnoDB是Mysql5.5之后默认的存储引擎,本文也主要是参照Mysql5.6的官方手册。 一、存储引擎的作用是什么? 在深入讨论InnoDB前,想先讨论以下存储引擎的作用。数据库是我们用来组织和存储数据的工具,在Mysql系统的三层结构中,数据的组织和存储主要由存储引擎层实现。我们知道,Mysql的数据是存在磁盘中,数据的计算是在内存中,所以原创 2020-06-11 13:05:19 · 266 阅读 · 0 评论 -
多路平衡查找树B-Tree
多路平衡查找树(下面简称B-Tree)是一棵自平衡树,可以认为是平衡二叉树的泛化版。一棵m阶B树(balanced tree of order m)是一棵平衡的m路搜索树。它或者是空树,或者是满足下列性质的树: 根结点至少有两个子女; 每个非根节点所包含的关键字个数 j 满足:┌m/2┐ - 1 <= j <= m - 1; 除根结点以外的所有结点(不包括叶子结点)的度数正好是关键字总数加1,故内部子树个数 k 满足:┌m/2┐ <= k <= m ; 所有的叶子结点都位于同原创 2020-06-10 21:10:38 · 2273 阅读 · 0 评论 -
Schema与数据类型优化
一、Mysql支持的数据类型 数据类型 BIT 描述 TINYINT 8 整型,有符号范围-128~127,无符号范围0~255, SMALLINT 16 整型,有符号范围-32768~32767,无符号范围0~65535, MEDIUMINT 24 整型,有符号范围-8388608~8388607,无符号范围0~16777215, INT 32 整型,有符号范围-2147483648~2147483647,无符号范围0~4294原创 2020-06-04 09:55:26 · 238 阅读 · 1 评论 -
Mysql架构与概念
今天开始正式对《高性能Mysql》进行学习,博客主要记录学习的过程及一些认为比较重要的知识点,对于一些内容会从Mysql官网进行确认, 一、Mysql的逻辑架构 Mysql在逻辑上主要分为三部分: 第一部分主要用于处理客户端连接,授权认证和安全。对于Java程序来说,第一部分主要对应于MySQL Connector/J 第二部分主要是服务器层,包含Mysql大多数的核心服务功能,例如:查询解析、分析、优化、缓存以及所有的内置函数,所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图。 .原创 2020-06-02 22:21:20 · 154 阅读 · 0 评论 -
Mysql Innodb Lock
本文主要介绍Mysql中Innodb的锁类型,主要参考自Mysql5.6手册Innodb Lock一节,附上连接:https://dev.mysql.com/doc/refman/5.6/en/innodb-locking.html 本文内容: Innodb中的锁类型: Shared and Exclusive Locks Intention Locks Innodb中锁的...原创 2019-11-03 12:00:15 · 154 阅读 · 0 评论 -
关于MySQL 建表的一些建议
MySQL作为关系型数据库,被用来存储持久化的数据,避免不了需要创建表。如果没有利用ORM(对象关系模型)来自动创建表,则需要开发者通过图形界面(Navicat)或者手写MySQL语句。 由于在生产环境下,我们对MySQL数据库的操作通常是通过命令行进行操作,因此,建议建表的时候也手写MySQL语句(不建议用图形界面建表)。 1、添加注释的格式 在编写MySQL语句时,我们通常会被要求加上注...转载 2019-01-22 11:40:32 · 170 阅读 · 1 评论