• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

mysql进阶知识-存储引擎

武飞扬头像
qq_20617201
帮助1

”种一棵树最好是十年前,其次是现在“,结合个人十多年IT基础架构领域摸爬滚打的经验来看,数据库领域潜力无限,大有可为。运维领域知识面需要广,更需要专,数据库是我选择做专做深的方向。

进阶知识概览

学新通
mysql进阶知识概览

存储引擎

  • 存储引擎:

数据存储,索引建立,更新,查询数据等问题都是通过存储引擎实现

  • 体系结构:

通过连接层,服务层,引擎层,和数据存储层构成了mysql整体结构

连接层:

负责连接认证,线程重用,连接数控制等

服务层:

负责SQL接口,SQL解析,查询优化,缓存处理等

引擎层:

5.5版本以后默认使用InnoDB,支持可插拔存储引擎,索引实现。不用的引擎使用的场景不同,索引实现的方式也不同

数据存储层:

负责数据库中数据,log日志文件存储在磁盘中,支持多种文件系统格式

学新通
mysql体系结构

相关操作:

-- 查询建表语句
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
系列文章
更多 icon
同类精品
更多 icon
继续加载