| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> MySQL进阶--存储引擎InnoDB与索引 -> 正文阅读 |
|
[大数据]MySQL进阶--存储引擎InnoDB与索引 |
目录 一、存储引擎
MySQL体系结构:
InnoDBInnoDB 是一种兼顾高可靠性和高性能的通用存储引擎,在 MySQL 5.5 之后,InnoDB 是默认的 MySQL 引擎。
参数:innodb_file_per_table,决定多张表共享一个表空间还是每张表对应一个表空间 知识点: 查看 Mysql 变量:
从idb文件提取表结构数据:
InnoDB 逻辑存储结构: MyISAMMyISAM 是 MySQL 早期的默认存储引擎。 特点:
文件:
MemoryMemory 引擎的表数据是存储在内存中的,受硬件问题、断电问题的影响,只能将这些表作为临时表或缓存使用。 特点:
文件:
存储引擎特点
存储引擎的选择在选择存储引擎时,应该根据应用系统的特点选择合适的存储引擎。对于复杂的应用系统,还可以根据实际情况选择多种存储引擎进行组合。
电商中的足迹和评论适合使用 MyISAM 引擎,缓存适合使用 Memory 引擎。 二、索引索引是帮助 MySQL?高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查询算法,这种数据结构就是索引。 优缺点:
索引结构
B-Tree二叉树的缺点可以用红黑树来解决:? ?红黑树也存在大数据量情况下,层级较深,检索速度慢的问题。 为了解决上述问题,可以使用 B-Tree 结构。
B+Tree结构图: 与 B-Tree 的区别:
MySQL 索引数据结构对经典的 B+Tree 进行了优化。在原 B+Tree 的基础上,增加一个指向相邻叶子节点的链表指针,就形成了带有顺序指针的 B+Tree,提高区间访问的性能。 ?Hash哈希索引就是采用一定的hash算法,将键值换算成新的hash值,映射到对应的槽位上,然后存储在hash表中。
索引分类
在 InnoDB 存储引擎中,根据索引的存储形式,又可以分为以下两种:
演示图:
1. 以下 SQL 语句,哪个执行效率高?为什么?
答:第一条语句,因为第二条需要回表查询,相当于两个步骤。 2. InnoDB 主键索引的 B+Tree 高度为多少? 答:假设一行数据大小为1k,一页中可以存储16行这样的数据。InnoDB 的指针占用6个字节的空间,主键假设为bigint,占用字节数为8. 如果树的高度为2,那么他能存储的数据量大概为: 您可能感兴趣的: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:07:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |