当前位置: 首页 > news >正文

MySQL学习【第九篇存储引擎】

一.存储引擎介绍

1.我们知道mysql程序构成由连接层,sql层,存储引擎层。存储引擎层和磁盘进行交互,由其去取数据,而我们取得数据是表的形式展现出来,谁做的呢?就是存储引擎结构化成表的形式返回给用户。

 

2.我们都知道什么是文件系统(操作系统组织和存储数据的一种机制,一种软件),文件系统类型有许多种(xfs,ext2等),而存储引擎则类似于文件系统,不过功能更多,不仅仅用于提供基本的存取功能,还有更多功能事务功能、锁定、备份和恢复、优化、故障恢复以及特殊功能

 

二.MySQL自带的存储引擎类型

1.MySQL 提供以下存储引擎:
01)InnoDB  (行锁:改表中某一行的时候,不影响别人改其他行)
02)MyISAM (表锁:改表中任一数据时,别人都不能用)

03)MEMORY
04)ARCHIVE
05)FEDERATED
06)EXAMPLE
07)BLACKHOLE
08)MERGE
09)NDBCLUSTER
10)CSV

2.还可以使用第三方存储引擎:
01)MySQL当中插件式的存储引擎类型
02)MySQL的两个分支
03)perconaDB
04)mariaDB

 

3.查看自己是啥存储引擎

#查看当前MySQL支持的存储引擎类型
mysql> show engines
#查看innodb的表有哪些
mysql> select table_schema,table_name,engine from information_schema.tables where engine='innodb';
#查看myisam的表有哪些
mysql> select table_schema,table_name,engine from information_schema.tables where engine='myisam';

 

4.innodb和myisam的区别

#进入mysql目录
[root@db01~l]# cd /application/mysql/data/mysql
#查看所有user的文件
[root@db01 mysql]# ll user.*
-rw-rw---- 1 mysql mysql 10684 Mar  6  2017 user.frm
-rw-rw---- 1 mysql mysql   960 Aug 14 01:15 user.MYD
-rw-rw---- 1 mysql mysql  2048 Aug 14 01:15 user.MYI
#进入word目录
[root@db01 world]# cd /application/mysql/data/world/
#查看所有city的文件
[root@db01 world]# ll city.*
-rw-rw---- 1 mysql mysql   8710 Aug 14 16:23 city.frm
-rw-rw---- 1 mysql mysql 688128 Aug 14 16:23 city.ibd

 

5.innodb存储引擎在MySQL5.5版本之后,默认的存储引擎,提供高可靠性和高性能。

innodb的核心特性:MVCC,事务,行级锁,热备份,Crash Safe Recovery(自动故障恢复)

 

6.查看自身的默认存储引擎

SELECT @@default_storage_engine;

 

7.查看表的存储引擎

SHOW CREATE TABLE City\G
SHOW TABLE STATUS LIKE 'CountryLanguage'\G

 

8.使用 INFORMATION_SCHEMA 确认每个表的存储引擎

SELECT TABLE_NAME, ENGINE FROM 
INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'City'
AND TABLE_SCHEMA = 'world'\G

 

9.存储引擎的设置

在启动配置文件中设置服务器存储引擎
#在配置文件的[mysqld]标签下添加 [mysqld] default-storage-engine=<Storage Engine>
 
  
 
 
  

使用 SET 命令为当前客户机会话设置

#在MySQL命令行中临时设置
SET @@storage_engine=<Storage Engine>
 
  

在 CREATE TABLE 语句指定

#建表的时候指定存储引擎
CREATE TABLE t (i INT) ENGINE = <Storage Engine>;
 
 

转载于:https://www.cnblogs.com/busiren/p/10587849.html

相关文章:

  • 分布式监控-open-falcon
  • PV PVC - 每天5分钟玩转 Docker 容器技术(150)
  • 阿里九年架构师教你如何学会阅读源码
  • Viewpager+FragmentStatePagerAdapter动态添加,删除,移动位置,(局部)更新页面(Fragment)不闪屏,不错位解决方案...
  • Kubernetes日志分析利器:Elassandra部署使用指南
  • 可汗学院
  • 泛在电力物联网有项核心技术 你听过没有?
  • 2018华为ICT大赛企业网络方向初赛大纲(来源自华为官方)
  • 安卓应用安全指南 5.6.2 密码学 规则书
  • 网络安全笔记
  • Association, Composition and Aggregation in UI5, CRM, S/4HANA and C4C
  • iOS 组件化开发(三):加载资源文件
  • swift中利用系统线程实现异步加载数据同步更新UI
  • T56
  • pyqt5的下载进度条 实现模板
  • C++类的相互关联
  • CAP 一致性协议及应用解析
  • DataBase in Android
  • ES6 学习笔记(一)let,const和解构赋值
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Python语法速览与机器学习开发环境搭建
  • React Transition Group -- Transition 组件
  • socket.io+express实现聊天室的思考(三)
  • springMvc学习笔记(2)
  • Spring核心 Bean的高级装配
  • Vue 重置组件到初始状态
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 时间复杂度与空间复杂度分析
  • 最简单的无缝轮播
  • 06-01 点餐小程序前台界面搭建
  • python最赚钱的4个方向,你最心动的是哪个?
  • ​香农与信息论三大定律
  • ###C语言程序设计-----C语言学习(6)#
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (C语言)fread与fwrite详解
  • (二)构建dubbo分布式平台-平台功能导图
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (利用IDEA+Maven)定制属于自己的jar包
  • (三)c52学习之旅-点亮LED灯
  • (十六)串口UART
  • (十一)图像的罗伯特梯度锐化
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (转)IOS中获取各种文件的目录路径的方法
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .bat批处理(六):替换字符串中匹配的子串
  • .gitignore文件—git忽略文件
  • .net core Swagger 过滤部分Api
  • .NET 使用配置文件
  • .NET 依赖注入和配置系统
  • /etc/sudoers (root权限管理)
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • []常用AT命令解释()