这是高级开发者面试时经常被问的问题.实际我们在平时的开发中,经常会遇到的,在用SQLyog等工具创建表时,就有一个引擎项要你去选.如下图: Mysql的存储引擎有这么多种,实际我们在平时用的最多的莫过于InnoDB和MyISAM了. 所有如果面试官问道mysql有哪些存储引擎,你只需要告诉这两个常用的就行. 那他们都有什么特点和区别呢? MyISAM和InnoDB的特点: MyISAM :默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Met…
提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关. 而事务的ACID(即原子性Atomicity.一致性Consistency.隔离性Isolation.持久性Durability)可以说涵盖了事务的全部知识点,所以,我们不仅要知道ACID是什么,还要了解ACID背后的实现,只有这样,无论在日常开发还是面试求职,都能无往而不利. 上一篇 跟面试官侃半小时MySQL事务隔离性,从基本概念深入到实现 主要围绕“隔离性”展…
写在前面 马上就是金九银十的跳槽黄金期了,很多读者都开始出去面试了.这不,又一名读者出去面试被面试官问了一个MySQL的问题:向MySQL中插入数据,如何实现MySQL中没有当前id标识的数据时插入数据,有当前id标识的数据时更新数据.其实,这题目一点也不难!! 先来个简单题目 正式回答这个面试题时,我们先来看一个简单点的题目:如何实现向MySQL中插入数据时,存在则忽略,不存在就插入?其实,这个简单点的题目与标题的题目有相同的地方:都是MySQL中不存在待插入的数据时,就将待插入的数据插入到M…
面试官:你是怎么理解InnoDB引擎中的事务的? 候选者:在我的理解下,事务可以使「一组操作」要么全部成功,要么全部失败 候选者:事务其目的是为了「保证数据最终的一致性」. 候选者:举个例子,我给你发支付宝转了888块红包.那自然我的支付宝余额会扣减888块,你的支付宝余额会增加888块. 候选者:而事务就是保证我的余额扣减跟你的余额增添是同时成功或者同时失败的,这样这次转账就正常了 面试官:嗯,那你了解事务的几大特性吗? 候选者:嗯,就是ACID嘛,分别是原子性(Atomicity).一致性(…
转载地址:https://mp.weixin.qq.com/s/HNnzAgUtBoDhhJpsA0fjKQ 世界上只两件东西能震撼人们的心灵:一件是我们心中崇高的道德标准:另一件是我们头顶上灿烂的星空        ——[康德] 大家好,今天笔者为大家分享一些MySQL相关的知识,,希望这篇文章能给大家在工作上带来帮助. 在面试的时候,面试官常会问一些数据库优化的问题.比如:如何加快查询速度.通常一般都是这样回答的 加索引 修改sql,减少不必要的字段 limit 分库分表 等等 回答的很肤浅…
一.MySQL的存储引擎 完整的引擎说明还是看官方文档:http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html 这里介绍一些主要的引擎 1.InnoDB存储引擎 InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务.除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎. 建议使用MySQL5.5及以后的版本,因为这个版本及以后的版本的InnoDB引擎性能更好. M…
1.介绍 存储引擎MySQL中的"文件系统" MySQL体系结构 InnoDB存储引擎介绍 My1SAM 和InnoDB区别  mysql MariaDB [(none)]> show engines; 可以查看当前My1SAM和InnoDB信息 +--------------------+---------+----------------------------------------------------------------------------+---------…
什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合.     我们通常说的MySql数据库,sql server数据库等等其实是数据库管理系统,它们可以存储数据,并提供查询和更新数据库中的数据的功能等等.根据数据库如何存储数据和如何操作数据的实现机制不同,这些数据库之间即有区别又有共同点.     MySql数据库是开放源代码的关系型数据库.目前,它可以提供的功能有:支持sql语言.子查询.存储过程.触发器.视图.索…
根据个人个人见解: MySQL的存储引擎(构成.安全.锁) Myisam:数据操作快速的一种引擎,支持全文检索.文件保存在数据库名称为目录名的 目录中,有3个文件,分别是表定义文件(.frm).数据文件(.MYD).索引文件(.MYI),强调性能,查询效率较高,不支持事务和外键. Innodb:功能强大的一种引擎,支持事务处理功能,不支持全文检索.文件保存在两个 地方,一个是在数据库名称为目录名的目录中存放表结构文件,它的数据是保存在一个共有的文件中的. MyISAM支持表锁,而InnoDB支持…
什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合. 我们通常说的MySql数据库,sql server数据库等等其实是数据库管理系统,它们可以存储数据,并提供查询和更新数据库中的数据的功能等等.根据数据库如何存储数据和如何操作数据的实现机制不同,这些数据库之间即有区别又有共同点. MySql数据库是开放源代码的关系型数据库.目前,它可以提供的功能有:支持sql语言.子查询.存储过程.触发器.视图.索引.事务.锁.外…