我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL存储引擎的介绍及使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL存储引擎的介绍及使用

本篇内容介绍了“MySQL存储引擎的介绍及使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、MyISAM存储引擎

缺点:

  1. 不支持事务

  2. 最小粒度锁:表级

  3. 读写相互阻塞,写入不能读,读时不能写

  4. 不支持MVCC(支持多版本并发控制机制)

  5. 不支持聚簇索引

  6. 不支持数据缓存

  7. 不支持外键

  8. 崩溃恢复性较差

优点:

  1. 最大支持256TB存储空间

  2. 读取数据较快,占用资源较少

MyISAM引擎存储文件:

  • tbl_name.frm: 表格式定义

  • tbl_name.MYD: 数据文件

  • tbl_name.MYI: 索引文件

适用场景:MySQL5.5.5前默认的数据库引擎,在只读(或者写较少)、表较小(可以接受长时间进行修复操作)的场景适用

二:InnoDB存储引擎

特点:

  1. 64TB

  2. 支持事务

  3. 行级锁

  4. 支持多版本并发控制机制(MVCC)

  5. 支持聚簇索引

  6. 支持数据缓存

  7. 支持外键

InnoDB数据库文件:

  • tb_name.frm:表格式定义

  • tb_name.ibd :数据文件

注意:默认所有的innodb表数据文件存储在数据库目录下的ibddata1, ibddata2, ... ,这样极其不方便管理

强烈建议:启用 innodb_file_per_table=ON,每个表单独使用一个表空间存储表的数据和索引

启用:innodb_file_per_table

编辑/etc/my.cnf在[mysqld]下添加 innodb_file_per_table重启服务器 # service mysqld restartMariaDB [(none)]> SHOW VARIABLES LIKE 'innodb_file_per_table';+-----------------------+-------+| Variable_name         | Value |+-----------------------+-------+| innodb_file_per_table | ON    |+-----------------------+-------+

管理存储引擎

查看mysql支持的存储引擎: MariaDB [(none)]> SHOW ENGINES\G

查看当前默认的存储引擎:

MariaDB [(none)]> SHOW VARIABLES LIKE 'storage_engine';+----------------+--------+| Variable_name  | Value  |+----------------+--------+| storage_engine | InnoDB |+----------------+--------+

设置默认的存储引擎:

编辑/etc/my.conf在[mysqld]下添加default_storage_engine = InnoDB

InnoDB存储引擎的缓存

InnoDB存储引擎的缓冲池通常缓冲池的命中不应该小于99%

相关状态变量:

MariaDB [(none)]> SHOW GLOBAL STATUS LIKE 'innodb%read%'\G
  • Innodb_buffer_pool_reads: 表示从物理磁盘读取页的次数

  • Innodb_buffer_pool_read_ahead: 预读的次数

  • Innodb_buffer_pool_read_ahead_evicted: 预读页,但是没有读取就从缓冲池中被替换的页数量,一般用来判断预读的效率

  • Innodb_buffer_pool_read_requests: 从缓冲池中读取页次数

  • Innodb_data_read: 总共读入的字节数

  • Innodb_data_reads: 发起读取请求的次数,每次读取可能需要读取多个页

Innodb缓冲池命中率 = Innodb_buffer_pool_read_requests / ( Innodb_buffer_pool_read_requests + Innodb_buffer_pool_read_ahead + Innodb_buffer_pool_reads )

平均每次读取的字节数 = Innodb_data_read / Innodb_data_reads

三、其他存储引擎

  • Performance_Schema:Performance_Schema数据库;

  • Memory :将所有数据存储在RAM中,以便在需要快速查找参考和其他类似数据的环境中进行快速访问。适用存放临时数据。引擎以前被称为HEAP引擎;

  • MRG_MyISAM:使MySQL DBA或开发人员能够对一系列相同的MyISAM表进行逻辑分组,并将它们作为一个对象引用。适用于VLDB(Very Large Data Base)环境,如数据仓库;

  • Archive :为存储和检索大量很少参考的存档或安全审核信息,只支持SELECT和INSERT操作;支持行级锁和专用缓存区;

  • Federated联合:用于访问其它远程MySQL服务器一个代理,它通过创建一个到远程MySQL服务器的客户端连接,并将查询传输到远程服务器执行,而后完成数据存取,提供链接单独MySQL服务器的能力,以便从多个物理服务器创建一个逻辑数据库。非常适合分布式或数据集市环境;

  • BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性;

  • Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性;

  • CSV:CSV存储引擎使用逗号分隔值格式将数据存储在文本文件中。可以使用CSV引擎以CSV格式导入和导出其他软件和应用程序之间的数据交换;

  • BLACKHOLE :黑洞存储引擎接受但不存储数据,检索总是返回一个空集。该功能可用于分布式数据库设计,数据自动复制,但不是本地存储;

  • example:“stub”引擎,它什么都不做。可以使用此引擎创建表,但不能将数据存储在其中或从中检索。目的是作为例子来说明如何开始编写新的存储引擎。

“MySQL存储引擎的介绍及使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL存储引擎的介绍及使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL存储引擎的介绍及使用

本篇内容介绍了“MySQL存储引擎的介绍及使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、MyISAM存储引擎缺点:不支持事务最小粒度
2023-06-20

MySQL之存储引擎使用及说明

这篇文章主要介绍了MySQL之存储引擎使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-02-10

MySQL数据库存储引擎介绍及数据库的操作详解

目录mysql存储引擎InnoDB存储引擎MyISAM储php存引擎Memory存储引擎Archive存储引擎数据库的相关操作创建数据库修改数据库删除数据库查看数据库列表打开数据库MySQL存储引擎InnoDB存储引擎InnoDB存储引
2022-08-12

mysql存储引擎怎么使用

选择适合 mysql 应用程序的存储引擎至关重要,常用存储引擎及其特性如下:innodb:事务性、支持外键、崩溃恢复。myisam:旧引擎、不完全支持事务、高性能。memory:内存存储、超高性能。csv:纯文本存储、数据导入导出。在创建表
mysql存储引擎怎么使用
2024-05-30

3,mysql的存储引擎

1,什么是存储引擎,存储引擎说白了就是如何存储数据,如何为存储的数据建立索引和如何更新,查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以成为表类型。在Oracle和SQL Server等数据库中只
2023-01-31

mysql存储引擎怎么用

根据应用需求选择 mysql 存储引擎:需事务支持和并发控制:innodb重视性能:myisam快速访问,不需持久化:memoryMySQL 存储引擎的选择在设计 MySQL 数据库时,选择合适的存储引擎对于优化性能和满足特定应用程序需求
mysql存储引擎怎么用
2024-05-30

编程热搜

目录