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

MySQL原理(二)存储引擎(2)MyISAM

一、MyISAM介绍

1、介绍:

MyISAM引擎是MySQL5.5版本之前的数据库所默认的数据表引擎。每一个采用MyISAM引擎的数据表在实际存储中都是由三个文件组成,分别是frm文件保存表的结构,MYD文件保存表的数据、MYI文件保存表的索引,文件后缀为上述三个,文件名与数据表名相同。MYD和MYI与MyISAM引擎有很深的关联。

说明:从MySQL8.0开始,它就可以被称为过时了。 MySQL已经确保在使用InnoDB时,MyISAM可以完成的所有工作都可以完成,因此目前,只有当希望简单的COUNT(*)查询更快时,MyISAM才非常有用。这样的查询会更快,因为MyISAM将表记录数数字存储在表元数据中–其他 MySQL存储引擎则没有。

2、特点:

(1)不支持事务。

(2)表级锁定。 即发生数据更新时,会锁定整个表,以防止其他会话对该表中数据的同时修改所导致的混乱。这样做可以使得操作简单,但是会减少并发量。

(3)读写互相堵塞。 在MyISM类型的表中,既不可以在向数据表中写入数据的同时另一个会话也向该表中写入数据,也不允许其他的会话读取该表中的数据。只允许多个会话同时读取该数据表中的数据。

(4)只会缓存索引,不会缓存数据。 所谓缓存,就是指数据库在访问磁盘数据时,将更多的数据读取进入内存,这样可以使得当访问这些数据时,直接从内存中读取而不是再次访问硬盘。MyISAM可以通过key_buffer_size缓存索引,以减少磁盘I/O,提升访问性能。但是MyISAM数据表并不会缓存数据。

(5)读取速度较快,占用资源较少。

(6)不支持外键约束。

(7)支持三种类型的索引:B-Tree、R-Tree、Full-text全文索引。

http://www.lryc.cn/news/291312.html

相关文章:

  • P1088 [NOIP2004 普及组] 火星人题解
  • Python面向对象编程:探索代码的结构之美
  • Java基于SpringBoot+Vue的电影影城管理系统,附源码,文档
  • 【学网攻】 第(14)节 -- 动态路由(EIGRP)
  • 【Linux】多线程(线程概念+线程控制)
  • 【昕宝爸爸小模块】深入浅出详解之常见的语法糖
  • 低代码
  • 2024/1/30 备战蓝桥杯 3-1 栈
  • qt setStyleSheet 设置多个属性{}之间用空格间隔
  • 【Node.js基础】Node.js的介绍与安装
  • 树和二叉树基础
  • 第十四届蓝桥杯大赛软件赛省赛(C/C++ 大学B组)题解
  • 【计算机网络】网络的网络
  • SQL Server 函数参考手册
  • NTP时间同步服务器@客户端时钟同步设置
  • flask_django基于python的城市轨道交通公交线路查询系统vue
  • 【Spring连载】使用Spring Data访问Redis(四)----RedisTemplate
  • WriteFlow写作流GPT应用,激发创意的写作助手
  • matlab对负数开立方根得到虚数的解决方案
  • NFTScan 与 OneID 达成合作伙伴,支持多类型 DID 搜索!
  • c# textbox 提示文字
  • Springfox Swagger3从入门案例
  • HarmonyOS NEXT 星河版项目案例
  • 房屋租赁系统-java
  • docker环境搭建及其安装常用软件
  • 【Spring连载】使用Spring Data访问Redis(三)----连接模式
  • ppt背景图片怎么设置?让你的演示更加出彩!
  • SQL 关键字参考手册(一)
  • 快速排序|超详细讲解|入门深入学习排序算法
  • 指针+一维整型数组的基本运用 和 指针+一维整型数组的初步学习