位置: 编程技术 - 正文

MySQL数据库三种常用存储引擎特性对比(mysql数据库三种复制类型)

编辑:rootadmin

推荐整理分享MySQL数据库三种常用存储引擎特性对比(mysql数据库三种复制类型),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql数据库三种备份方式是什么,mysql数据库三种备份方式是什么,mysql数据库有哪些类型,mysql数据库三种备份和恢复,mysql数据库三种备份和恢复,mysql数据库三种备份方式是什么,mysql数据库三种备份方式是什么,mysql数据库三种备份和恢复,内容如对您有帮助,希望把文章链接给更多的朋友!

MySQL 的存储引擎可能是所有关系型数据库产品中最具有特色的了,不仅可以同时使用多种存储引擎,而且每种存储引擎和MySQL之间使用插件方式这种非常松的耦合关系。

由于各存储引擎功能特性差异较大,这篇文章主要是介绍如何来选择合适的存储引擎来应对不同的业务场景。

MyISAM

特性不支持事务:MyISAM存储引擎不支持事务,所以对事务有要求的业务场景不能使用表级锁定:其锁定机制是表级索引,这虽然可以让锁定的实现成本很小但是也同时大大降低了其并发性能读写互相阻塞:不仅会在写入的时候阻塞读取,MyISAM还会在读取的时候阻塞写入,但读本身并不会阻塞另外的读只会缓存索引:MyISAM可以通过key_buffer缓存以大大提高访问性能减少磁盘IO,但是这个缓存区只会缓存索引,而不会缓存数据

适用场景不需要事务支持(不支持)并发相对较低(锁定机制问题)数据修改相对较少(阻塞问题)以读为主数据一致性要求不是非常高

最佳实践尽量索引(缓存机制)调整读写优先级,根据实际需求确保重要操作更优先启用延迟插入改善大批量写入性能尽量顺序操作让insert数据都写入到尾部,减少阻塞分解大的操作,降低单个操作的阻塞时间降低并发数,某些高并发场景通过应用来进行排队机制对于相对静态的数据,充分利用Query Cache可以极大的提高访问效率MyISAM的Count只有在全表扫描的时候特别高效,带有其他条件的count都需要进行实际的数据访问

InnoDB

MySQL数据库三种常用存储引擎特性对比(mysql数据库三种复制类型)

特性具有较好的事务支持:支持4个事务隔离级别,支持多版本读行级锁定:通过索引实现,全表扫描仍然会是表锁,注意间隙锁的影响读写阻塞与事务隔离级别相关具有非常高效的缓存特性:能缓存索引,也能缓存数据整个表和主键以Cluster方式存储,组成一颗平衡树所有Secondary Index都会保存主键信息

适用场景需要事务支持(具有较好的事务特性)行级锁定对高并发有很好的适应能力,但需要确保查询是通过索引完成数据更新较为频繁的场景数据一致性要求较高硬件设备内存较大,可以利用InnoDB较好的缓存能力来提高内存利用率,尽可能减少磁盘 IO

最佳实践主键尽可能小,避免给Secondary index带来过大的空间负担避免全表扫描,因为会使用表锁尽可能缓存所有的索引和数据,提高响应速度在大批量小插入的时候,尽量自己控制事务而不要使用autocommit自动提交合理设置innodb_flush_log_at_trx_commit参数值,不要过度追求安全性避免主键更新,因为这会带来大量的数据移动

NDBCluster

特性分布式:分布式存储引擎,可以由多个NDBCluster存储引擎组成集群分别存放整体数据的一部分支持事务:和Innodb一样,支持事务可与mysqld不在一台主机:可以和mysqld分开存在于独立的主机上,然后通过网络和mysqld通信交互内存需求量巨大:新版本索引以及被索引的数据必须存放在内存中,老版本所有数据和索引必须存在与内存中

适用场景具有非常高的并发需求对单个请求的响应并不是非常的critical查询简单,过滤条件较为固定,每次请求数据量较少,又不希望自己进行水平Sharding

最佳实践尽可能让查询简单,避免数据的跨节点传输尽可能满足SQL节点的计算性能,大一点的集群SQL节点会明显多余Data节点在各节点之间尽可能使用万兆网络环境互联,以减少数据在网络层传输过程中的延时

注:以上三个存储引擎是目前相对主流的存储引擎,还有其他类似如:Memory,Merge,CSV,Archive等存储引擎的使用场景都相对较少,这里就不一一分析了。

mysql版本5.5.x升级到5.6.x步骤分享 大概步骤是:把配置文件添加:skip-grant-tables参数,把basedir升级成新版本,启动mysql,执行命令:mysql_upgrade升级一下字典信息,然后flushprivileges;刷新授

Mysql IO 内存方面的优化 这里使用的是mysqlVer.Distrib5.6.,forLinux(i)usingEditLinewrapper一、mysql目录文件ibdata1:系统表空间包含数据字典、回滚日志/undolog等(insertbuffersegment/doublewr

Mysql忘记root密码怎么办 MySQL有时候忘记了root密码是一件伤感的事,这种情况下,如何重置root的密码呢找到并编辑mysql的my.ini配置文件,在mysqld节点中添加上skip-grant-table.如下:#T

标签: mysql数据库三种复制类型

本文链接地址:https://www.jiuchutong.com/biancheng/312476.html 转载请保留说明!

上一篇:MySQL中的行级锁、表级锁、页级锁(mysql行锁的作用)

下一篇:mysql版本5.5.x升级到5.6.x步骤分享

  • 服务费收入是什么
  • 计提递延所得税资产
  • 营改增后土地增值税应税收入的确认
  • 商业保险进项税额转出影响成本吗
  • 本年利润和利润分配未分配利润的区别
  • 饭店采购食材没发票
  • 小规模纳税人开具增值税专用发票
  • 营改增后小规模纳税人涉税账务处理
  • 应收账款确认无法收回分录
  • 个税手续费返还政策最新规定2023
  • 销货清单怎么写才正规
  • 不动产经营租赁印花税税率
  • 财产保险费发票税率
  • 公司注销地税时其他应收款要缴纳个人所得税吗?
  • 所得税除以利润总额是稳定性评价指标吗
  • 支付员工补偿金计入管理费用的福利费用吗
  • 什么叫保理支付
  • 企业高管需要什么证书
  • 石油天然气用途
  • 去年的进项票今年可以抵吗
  • 政府补贴的银行卡注销了会怎么样
  • 培训机构的收入有哪几方面
  • 非经营性单位支出费用是什么
  • 无票收入有风险吗
  • 一次性收取的房租需要按月纳增值税吗
  • 开票的附加税是多少
  • 企业预缴电费会退回吗
  • win10如何打开regedit
  • 城建税的会计账务处理
  • php入门基础教程
  • PHP:imageellipse()的用法_GD库图像处理函数
  • 伏尔塔瓦河上的纤夫
  • vue 获取当前url
  • 城市维护建设税减免税优惠政策
  • JavaScript | 1000个判断条件难道要写了1000个 if ? 一文教你如何实现分支优化
  • vue中computed和watch
  • 结构重参数化2d pose
  • 以前年度损益调整是什么意思
  • 灵活就业收入是填多好还是填少好
  • 无追索权有哪些类型
  • 房产税计入管理费用还是营业税金及附加
  • 预存电费余额怎么突然多了
  • python如何访问私有方法
  • sql语句的查询语句
  • 公司基本户如何注销
  • 公司小规模纳税人转为一般纳税人,需要签补充协议吗
  • 货物什么情况下需要分批运输
  • 退休职工取暖费发放标准2023年
  • 公司年初计划都有哪些
  • Centos7下MySQL安装教程
  • 开始菜单里设置在哪里
  • centos搭建svn服务器
  • freebsd怎么安装软件
  • 如何用u盘装系统 知乎
  • 一键u盘安装系统
  • OS X 10.10 Yosemite的新特性与iOS联系更紧密
  • c1.exe是什么
  • win8.1专业版是哪个
  • 苹果手机价格
  • win7任务栏透明调不了
  • linux 多线程 写文件
  • 虚拟光驱uiso
  • win8怎么创建宽带连接
  • 将jquery.qqFace.js表情转换成微信的字符码
  • android内存dump
  • opengl编程实例
  • 用python抓取数据
  • bootstrap 多级菜单
  • fastcgi iis
  • Unity3D Vuforia Android 相机聚焦模式设置
  • 简述JavaScript中全局变量与局部变量的作用域
  • unity3d功能介绍
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • node解决跨域
  • 安卓解析工具
  • android下载文件保存到本地
  • python dict.get()和dict['key']的区别详解
  • 如何在电子税务局变更财务负责人
  • 高新企业公布
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设