Mysql之myisam引擎
这里是早起整理的myisam优势,因为当时刚毕业那会web1.0时代还没过时,很多的门户网站实际上就只是内容展示的时候,或者发布文章公告的场景。所以对于这样的读多写少的场景,大多数使用的还是myisam引擎。那时候用的都是5.X,2017年为了解决微信用户昵称存在特殊字符,才开始使用utf8mb4编码,2018年为了存json字符串才开始使用8.X的。
主要包括以下以下优势:
- 只有本引擎才支持全文索引
- 在索引和数据层面都有数据压缩功能
- 表持有共享锁的时候,可以往表里并发插入数据
- 延迟更新的特性。每次修改的数据不会马上更新到数据表中,而是写到内存中,之后在清理缓冲区的时候或者是关闭表的时候才会讲内存中的数据写入磁盘。大大提高写入性能
- 压缩表的功能。这个压缩在我理解就是硬盘的上面的碎片整理,吧表中的信息集中在硬盘上麦年的某一块扇区上,在查找的时候避免了磁头的移动 ,和磁臂的转动。这个压缩一般是用在固定的数据表的数据,一般是不会这样使用的。如果是固定的数据,则会选择放到内存数据库中
- 如果是日志型的应用,则可以选择使用isam,因为这里只有插入和查询
- 类似丁茶操作,都需要事务的支持
- 当数据沉淀到一个量级的时候,可以转为数据仓库,用infobright来管理数据仓库即可
当然很明显的缺点:
- myisam不支持事务,如果系统奔溃之后是无法恢复
- 加锁是对整个表,所以加锁之后的并发数少。
Mysql之myisam引擎的更多相关文章
- MySQL中MyISAM引擎及InnoDB引擎的缓存优化设计
MyISAM引擎中,为了提高io效率以及读取效率,将对磁盘频繁读取的索引数据加载至内存中操作. MyISAM设计了一个在存放在内存中的索引缓冲池Key Cache.Key Cache只缓存索引数据,通 ...
- Mysql 的MYISAM引擎拷贝出现异常——Incorrect information in file 'xxx.frm'
MYISAM引擎有三个文件 .FRM 存储表结构 .MYD 存储数据 .MYI 存储索引 当复制表时,将这三个文件同时复制到指定目录下. 异常处理: 1. Incorrect info ...
- MySQL中MyISAM引擎与InnoDB引擎性能简单测试
[硬件配置]CPU : AMD2500+ (1.8G)内存: 1G/现代硬盘: 80G/IDE[软件配置]OS : Windows XP SP2SE : PHP5.2.1DB : MySQL5.0.3 ...
- Springboot2.0中jpa默认创建的mysql表为myisam引擎问题
使用Springboot2.0后,使用jpa操作mysql数据库时,默认创建的表的引擎是myisam,myisam是不能加外键的,找了一些资源,最终可以用此方法解决! yml格式: spring: j ...
- Mysql中MyISAM引擎和InnoDB引擎的比较
结论 如果不清楚自己应该用什么引擎,那么请选择InnoDB,Mysql5.5+的版本默认引擎都是InnoDB,早期的Mysql版本默认的引擎是MyISAM MyISAM 和 InnoDB的适用场景 M ...
- Mysql更换MyISAM存储引擎为Innodb的操作记录
一般情况下,mysql会默认提供多种存储引擎,可以通过下面的查看: 1)查看mysql是否安装了innodb插件.通过下面的命令结果可知,已经安装了innodb插件. mysql> show p ...
- MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)
一.什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了.如:某用户表的记录超过了1000万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区 ...
- Mysql 的存储引擎,myisam和innodb的区别
MyISAM 是非事务的存储引擎,innodb是支持事务的存储引擎. innodb的引擎比较适合于插入和更新操作比较多的应用,而MyISAM 则适合用于频繁查询的应用 . MyISAM --表锁,in ...
- Mysql表的七种引擎类型,InnoDB和MyISAM引擎对比区别总结
InnoDB和MyISAM区别总结 我用MySQL的时候用的是Navicat for MySQL(Navicat for mysql v9.0.15注册码生成器)操作库.表操作的,默认的表就是Inno ...
- Mysql中存储引擎区别【 InnoDB、MyISAM】
区别: 1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事 ...
随机推荐
- Nuxt Kit 自动导入功能:高效管理你的模块和组合式函数
title: Nuxt Kit 自动导入功能:高效管理你的模块和组合式函数 date: 2024/9/14 updated: 2024/9/14 author: cmdragon excerpt: 通 ...
- Flutter Web 近期的重要更新
我们的发布重点优先关注在性能.开发者体验以及 Web 集成上 2021 年 3 月 Flutter Web 支持已进入稳定版,那么,下一步是什么? 我们对用户研究发现,有超过 10% 的 Flutte ...
- Windows安装winget
打开GitHub链接地址:https://github.com/microsoft/winget-cli/releases 选择最新版本,点进去后 找到名为后缀名为 ".msixbundle ...
- uniapp中前端canvas合成图片使用详解
项目开发中用到了定位打卡,保存当前位置到上传图片的功能.刚开始想着后端人员合成,前端上传经纬度.位置信息和图片就OK,没想到后端人员以使用项目中现有的组件为借口,让前端合成图片,造成前端工作量大增,再 ...
- promise是什么?它有哪些作用?
promsie是es6新增的特性,用来解决回调地狱的问题(异步深层嵌套问题) : 也叫做期约函数,是js内部的构造函数 ,可以当作一个容器,里面保存着某个未来才会结束的事件,比如异步请求 :
- nodejs 和 npm 版本对应关系
一.nodejs 和 npm 的版本是有适配的 首先看下官网列明的大概匹配关系: 官网链接地址:https://nodejs.org/zh-cn/about/previous-releases 可以查 ...
- CEOI2022
Day1 T1 Abracadabra 题意:给你一个 \(1 \sim n\) 的排列 \(p\),保证 \(n\) 为偶数,我们对它进行足够多次数的洗牌操作,定义一次洗牌为: 考虑取出 \(p_{ ...
- centos7.6源码方式安装python3.6.8
1 安装依赖包 centos7.6是没有自带python3的 [root@opgs201 ~]# cat /etc/redhat-release CentOS Linux release 7.6.18 ...
- manim边做边学--复数平面
所谓复数平面,就是一种二维坐标系统,用于几何表示复数的场景,其中横轴代表实部,纵轴代表虚部. 每个点对应一个唯一的复数,反之亦然,这种表示方法使得复数的加法.乘法等运算可以通过直观的图形变换来理解. ...
- 一文彻底弄懂MySQL优化之深度分页
深度分页(Deep Pagination)在MySQL中指的是对大型数据集进行分页查询时,尤其是当需要获取较后页的数据时,性能可能会受到影响.传统的分页方法在数据量较大时,随着页数的增加,性能会迅速下 ...