mysql进阶知识-存储引擎
”种一棵树最好是十年前,其次是现在“,结合个人十多年IT基础架构领域摸爬滚打的经验来看,数据库领域潜力无限,大有可为。运维领域知识面需要广,更需要专,数据库是我选择做专做深的方向。
进阶知识概览
存储引擎
-
存储引擎:
数据存储,索引建立,更新,查询数据等问题都是通过存储引擎实现
-
体系结构:
通过连接层,服务层,引擎层,和数据存储层构成了mysql整体结构
连接层:
负责连接认证,线程重用,连接数控制等
服务层:
负责SQL接口,SQL解析,查询优化,缓存处理等
引擎层:
5.5版本以后默认使用InnoDB,支持可插拔存储引擎,索引实现。不用的引擎使用的场景不同,索引实现的方式也不同
数据存储层:
负责数据库中数据,log日志文件存储在磁盘中,支持多种文件系统格式
相关操作:
-- 查询建表语句
show create table account;
-- 建表时指定存储引擎
CREATE TABLE 表名(
...
) ENGINE=INNODB;
-- 查看当前数据库支持的存储引擎
show engines;
常用存储引擎特点
-
存储引擎特点-InnoDB: -
DML操作支持ACID模型,支持事务 -
行级锁,并发性能高 -
支持外键约束,保证数据完整,正确 -
5.5版本默认的InnoDB具有高性能,高可靠性特点 -
文件:xxx.ibd xxx代表表名,存储表结构,数据和索引等信息
-
知识点:
参数:innodb_file_per_table,决定多张表共享一个表空间还是每张表对应一个表空间
查看 Mysql 变量:
show variables like 'innodb_file_per_table';
从idb文件提取表结构数据: (在cmd运行) ibd2sdi xxx.ibd
InnoDB 逻辑存储结构:
-
存储引擎特点-MyISAM: -
早期版本默认使用的引擎 -
表锁,不支持行锁 -
不支持外键和事务 -
访问速度快 -
文件:.sdi 存储表结构信息,.MYD 存储数据信息,.MYI 存储索引信息
-
-
存储引擎特点-Memory: -
信息存储在内存中,只适用于临时存储场景 -
内存存储,hash索引 -
文件:.sdi 存储表结构信息
-
-
各类存储引擎特性详细对比
-
存储引擎选择:
需要根据应用系统的特点来选择合适的存储引擎,甚至可以进行组合使用
适用场景:
InnoDB:适合高并发,对数据安全性要求高,有事务要求,同时增,删,改,查比较频繁的场景
MyISAM:适合应用有大量的查询和插入操作,只有少量的更新和删除操作,同时对事务,并发要求不高的场景
memory:数据存放在内存,访问速度快,数据安全性没有保证,适用于存放缓存数据
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggahbj
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13