innodb的基础(innodb使用技巧)

技术InnoDB基础知识点有哪些这篇文章给大家分享的是有关InnoDB基础知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、关于count(*)知识点:MyISAM会直接存储总行数

这篇文章是想和大家分享InnoDB的基本知识点有哪些。我觉得边肖很实用,就和大家分享一下作为参考。让我们跟着边肖看一看。

一、关于count(*)

知识点:MyISAM会直接存储总行数,而InnoDB不会,所以需要按行扫描。

潜台词是从t中选择count(*);如果数据量大,MyISAM会瞬间返回,而InnoDB会逐行扫描。

做法:对于数据量大的表,InnoDB不要轻易选择count(*),这样会消耗大量性能。

常见坑:MyISAM只有查询整个表的合计行时才会直接返回结果。当添加where条件时,两个存储引擎具有相似的处理方法。

例如:

t_user(uid、uname、年龄、性别);

uid主键

年龄指数

选择count(*),其中年龄和性别=' F

要查询未成年少女数量,两个存储引擎的处理方式类似,都需要索引扫描。

启示:无论什么样的存储引擎,都要建立一个好的索引。

二、关于全文索引

知识点:MyISAM支持全文索引,这在InnoDB5.6之前是不支持的。

做法:无论是哪种存储引擎,在数据量大、并发量大的情况下,都不应该使用数据库自带的全文索引,这样会导致少量请求占用大量数据库资源,但是应该使用""

外部索引

的建筑设计方法。

启示:数据量大、并发度高的业务场景,全文索引和MyISAM也不是最佳选择。三、关于事务

知识点:MyISAM不支持事务,InnoDB支持事务。

实践:事务是选择InnoDB的吸引人的原因之一,InnoDB提供了提交、回滚、崩溃修复等功能。当系统异常崩溃时,MyISAM有一定几率造成文件损坏,非常烦人。但是,事务也非常消耗性能,这会影响吞吐量。建议只对一致性要求高的业务使用复杂事务。

画外音:无法打开文件“XXX”。MYI。你见过吗?

提示:MyISAM可以锁定table table来实现类似事务的东西,但是对数据库的性能影响很大,强烈不推荐使用。四、关于外键

知识点:MyISAM不支持外键,InnoDB支持外键。

做法:无论什么样的存储引擎,在数据量大、并发量大的情况下,都不应该使用外键。相反,建议应用程序确保完整性。五、关于行锁与表锁

知识点:MyISAM只支持表锁,而InnoDB可以支持行锁。

分析:

MyISAM:执行读写SQL语句时,表会被锁定,所以当数据量大、并发量高时,性能会急剧下降。

InnoDB:细粒度行锁,在数据量大、并发量高的情况下性能优异。

做法:网上经常说MyISAM用于选择插入的业务,因为MyISAM在文件末尾添加记录非常快。楼主的建议是大部分业务都是读写混合,所以只要数据量大,并发量大,就用InnoDB。

公共坑:

InnoDB的行锁是在索引上实现的,而不是在物理行记录上。潜台词是如果访问没有命中索引,就不能使用行锁,就会退化为表锁。

Voiceover: Oracle有不同的行锁实现机制。

例如:

t_user(uid、uname、年龄、性别)innodb

uid主键

没有其他索引

update t_user set age=10,其中uid=1;

命中索引,行锁定。

update t_user set age=10,其中uid!=1;

缺少索引,表锁。

update t_user set age=10其中name='沈剑';

没有索引,表锁定。

启示:InnoDB必须建立索引,否则锁粒度大,会影响并发。

总结

在大数据量、高并发的互联网业务场景下,对于MyISAM和InnoDB

在where条件下,count(*)两个存储引擎的性能相似。

您应该使用

外部索引

的设计方案

事务影响性能,强一致性要求使用事务。

不使用外键,应用程序保证完整性。

InnoDB不能在不命中索引的情况下使用行锁。

结论

数据量大、并发度高的互联网业务场景请使用InnoDB:

行锁对提高并发性有很大帮助。

Transac

感谢阅读!这篇关于“InnoDB的基本知识点有哪些”的文章就分享到这里了,希望。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/155440.html

(0)

相关推荐

  • 阳光型抑郁症,阳光抑郁症是什么

    技术阳光型抑郁症,阳光抑郁症是什么一阳光型抑郁症、什么是“阳光抑郁症”?“阳光抑郁症”就是把自己内心的郁闷、委屈、愤怒等真正的情绪都给隐藏起来,只向人展示自己比较阳光的一面,“表面上以笑脸迎人,症状有“幻想逃离现有环境”

    生活 2021年10月22日
  • 清明时节雨纷纷的意思,清明时节雨纷纷的纷纷是什么意思

    技术清明时节雨纷纷的意思,清明时节雨纷纷的纷纷是什么意思雨纷纷,虽然是说天气,更有说人当时的心情,清明佳节雨纷纷,路上行人欲断魂,其实清明佳节,有多少人心里不舒服,天在下雨,人也在下雨(思念亲人的眼泪)路上那么多行人去祭

    生活 2021年10月21日
  • 如何解释show engine innodb status中锁部分的内容

    技术如何解释show engine innodb status中锁部分的内容本篇文章给大家分享的是有关如何解释show engine innodb status中锁部分的内容,小编觉得挺实用的,因此分享给大家学习,希望大

    攻略 2021年11月16日
  • 在调用HttpRequest.GetBufferlessInputStream之后不支持此方法或属性。怎么办

    技术在调用HttpRequest.GetBufferlessInputStream之后不支持此方法或属性。怎么办今天就跟大家聊聊有关在调用HttpRequest.GetBufferlessInputStream之后不支持

    攻略 2021年10月20日
  • Ubuntu14.04 BLAS如何安装

    技术Ubuntu14.04 BLAS如何安装这篇文章主要介绍了Ubuntu14.04 BLAS如何安装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。环境系

    攻略 2021年11月15日
  • 民族团结小故事100字,民族团结小故事450字

    技术民族团结小故事100字,民族团结小故事450字中国巾帼英雄第一人冼夫人她的生平被载入籍《二十五史》的《隋书》、《北史》和《资治通鉴》民族团结小故事100字。她的英雄形象依然深深地刻在中国人民心中,被陈、隋皇朝敕封为“

    生活 2021年10月29日