位置: 编程技术 - 正文

浅谈选择mysql存储引擎的标准(mysql可以存什么)

编辑:rootadmin

推荐整理分享浅谈选择mysql存储引擎的标准(mysql可以存什么),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql存文章用哪个类型好,选择mysql的原因,mysql以什么方式存储,mysql如何选择数据库,mysql怎么存储的,在mysql中如何选择合适的数据类型,mysql使用什么存储引擎,在mysql中如何选择合适的数据类型,内容如对您有帮助,希望把文章链接给更多的朋友!

主要存储引擎的介绍

1、InnoDB存储引擎

InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。建议使用MySQL5.5及以后的版本,因为这个版本及以后的版本的InnoDB引擎性能更好。MySQL4.1以后的版本中,InnoDB可以将每个表的数据和索引存放在单独的文件中。这样在复制备份崩溃恢复等操作中有明显优势。可以通过在my.cnf中增加innodb_file_per_table来开启这个功能。如下: InnoDB采用MVCC来支持高并发,并且实现了四个标准的隔离级别。其默认级别是REPEATABLE READ(可重复读),并且通过间隙锁(next-key locking)策略防止幻读的出现。(事务和事务隔离级别是另一个大题目,各自网补吧)。 InnoDB是基于聚簇索引建立的,聚簇索引对主键查询有很高的性能。不过它的二级索引(secondary index,非主键索引)中必须包含主键列,所以如果主键列很大的话,其他的所有索引都会很大。因此表上的索引较多的话,主键应当尽可能的小。 InnoDB的存储格式是平台独立的,可以将数据和索引文件从Intel平台复制到Sun SPARC平台或其他平台。 InnoDB通过一些机制和工具支持真正的热备份,MySQL的其他存储引擎不支持热备份。

2、MyISAM存储引擎

MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISAM不支持事务和行级锁,有一个毫无疑问的缺陷就是崩溃后无法安全恢复。 MyISAM会将表存储在两个文件在中:数据文件和索引文件,分别是.MYD和.MYI为扩展名。在MySQL5.0以前,只能处理4G的数据,5.0中可以处理T的数据。 在数据不再进行修改操作时,可以对MyISAM表进行压缩,压缩后可以提高读能力,原因是减少了磁盘I/O。

浅谈选择mysql存储引擎的标准(mysql可以存什么)

3、Archive引擎

Archive存储引擎只支持INSERT和SELECT操作,在MySQL5.1之前不支持索引。Archive表适合日志和数据采集类应用。Archive引擎支持行级锁和专用的缓存区,所以可以实现高并发的插入,但它不是一个事物型的引擎,而是一个针对高速插入和压缩做了优化的简单引擎。

几个常用存储引擎的特点

下面我们重点介绍几种常用的存储引擎并对比各个存储引擎之间的区别和推荐使用方式。

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_ded9ab7.png" alt="查看图片" />

最常使用的2种存储引擎:Myisam是Mysql的默认存储引擎。当create创建新表时,未指定新表的存储引擎时,默认使用Myisam。每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm(存储表定义)、.MYD (MYData,存储数据)、.MYI (MYIndex,存储索引)。数据文件和索引文件可以放置在不同的目录,平均分布io,获得更快的速度。 InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。

如何选择合适的存储引擎

选择标准:根据应用特点选择合适的存储引擎,对于复杂的应用系统可以根据实际情况选择多种存储引擎进行组合。

下面是常用存储引擎的适用环境:MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。Merge:允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。

标签: mysql可以存什么

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

上一篇:mysql不同数据库不同数据表导入数据

下一篇:两种mysql对自增id重新从1排序的方法(mysql中自增)

  • 税务稽查最坏结果不知情人员怎么办
  • 在建工程和预付款项调整
  • 会计准则折旧年限规定最新
  • 所得税多交退税分录
  • 自然人独资企业股东承担连带责任
  • 应收账款的账面价值和账面余额的区别
  • 印花税自查补缴要先申报吗
  • 注册公司工贸和商贸哪个更好一些
  • 未完工工程如何做绩效评价
  • 产品样品送样流程
  • 工资薪金所得应纳税所得额
  • 法人向企业注资有风险吗
  • 销售预付卡的成本是什么
  • 应收账款资产减值损失转回和核销的区别
  • 银行美元账户调汇会计分录
  • 免税发票有几种类型
  • 赠送的商品怎么入账
  • 公允价值变动损益转入其他业务成本
  • 处置其他权益工具投资会影响当期损益吗
  • 对子公司投资应采取的核算方法
  • 购买预付卡账务处理
  • 其他应收款押金计提坏账吗
  • 竣工决算调整入库流程
  • 应收账款少给货款怎么做分录?
  • 营业外收入冲减销售费用
  • 银行承兑汇票贴现率是多少
  • rsrcmtr.exe - rsrcmtr是什么进程 有什么用
  • 免单产品是什么意思
  • 为什么老是跳到别的网站
  • 计划成本核算的账务处理
  • 涨点是什么意思
  • phpexcel读取excel
  • 携程境外电话客服人工电话
  • bug的5个级别
  • 小规模纳税人上月发票开错了怎么办
  • 基于反事实因果推断的度小满额度模型
  • 离线开票限额怎么办
  • 注册资本增加了怎么做账
  • 税控维护费可以抵企业所得税吗
  • 公司为员工代扣代缴
  • 会计要离职了要注意几点
  • 企业报表年报
  • 企业收到银行未收到怎么做账
  • 进项税额转出会计分录
  • 小规模纳税人个人所得税税率
  • 单位集体旅游算工资吗
  • 让渡资产使用权收入属于收入吗
  • 税收优惠附加税怎么计算
  • 超市预付卡销售会计分录
  • 工程施工的保险费的账务处理
  • 小规模纳税人缴税的分录
  • 汽车行业的保险返点怎么算
  • 外购商品用于促销能抵扣吗
  • 记账凭证的基本要素包括
  • 财政总预算会计的主体是
  • 联营企业和合营企业的持股比例
  • 测绘费如何入账
  • 亏损弥补的新旧不同
  • 固定资产转让开票大类是什么
  • 发票作废后对方还能认证吗
  • 主营业务利润率反映了企业的什么能力
  • sqlserver数据库和mysql区别
  • mysql newid()
  • drop,truncate与delete的区别
  • 安装fedora33
  • win10怎么设置定时关机和开机
  • win批处理命令
  • win7怎么运行itunes
  • win10引导记录损坏修复方法详解
  • unity 虚拟摇杆
  • cmd attribute
  • javaweb物流管理系统源码
  • 关于js的描述错误的是
  • python关键字none
  • unity mode
  • Javascript中的this
  • jquery easyUI中ajax异步校验用户名
  • python设计程序
  • 汽车购置税退税需要多长时间
  • 合并申报后老申报表还可以继续使用吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设