MySQL面试问题】的更多相关文章

说一下mysql比较宏观的面试,具体咋写sql的这里就不过多举例了.后面我还会给出一个关于mysql面试优化的试题,这里主要说的索引和B+Tree结构,很少提到我们的集群配置优化方案. 1.索引是什么?有什么作用以及缺点 答:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息.也可以理解为索引就是一本书的目录,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加.索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建…
MySQL面试总结 # MySQL的存储引擎 `MyISAM`(默认表类型):非事务的存储引擎,基于传统的`ISAM`(有索引的顺序访问方法)类型,是存储记录和文件的标准方法,不是事务安全,不支持外键,适用于频繁的查询.表锁,不会出现死锁,适合小数据和小并发. - 为什么不会出死锁?(没有事务就不会继续持有锁) 答:因为`MyISAM`再查询的时候,会同时锁定这个`sql`里面所有用到的表(获取锁的顺序是一致的),不局限与一张表,再写锁又重叠时,就得等待. **注意:[`MySQL5.5`之前默…
MySQL面试 - 读写分离 面试题 你们有没有做 MySQL 读写分离?如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题? 面试官心理分析 高并发这个阶段,肯定是需要做读写分离的,啥意思?因为实际上大部分的互联网公司,一些网站,或者是 app,其实都是读多写少.所以针对这个情况,就是写一个主库,但是主库挂多个从库,然后从多个从库来读,那不就可以支撑更高的读并发压力了吗? 面试题剖析 如何实现 MySQL 的读写分离? 其实很简单,就是基…
MySQL的又一神器-锁,MySQL面试必备 https://segmentfault.com/a/1190000020762791 lock 低一级的是 latch   原文链接:blog.ouyangsihai.cn >> MySQL的又一神器-锁,MySQL面试必备 在看这篇文章之前,我们回顾一下前面的几篇关于MySQL的文章,应该对你读下面的文章有所帮助. InnoDB与MyISAM等存储引擎对比 面试官问你B树和B+树,就把这篇文章丢给他 MySQL的B+树索引的概念.使用.优化及使…
Hi大家好,我是来自博客园的赐我白日梦! 为大家带来MySQL面试专题!全文110篇!以问答的方式,由浅入深的帮你应对各类MySQL面试题的狂轰滥炸!当然也不乏会分享一些高阶读写分离数据库中间件原理及落地的技术实现,为你揭开数据库中间件神秘的面纱! 免费!只是因为不想卖钱,质量还是蛮好的- 面试官都关注了!你还在犹豫什么呢? 文末有二维码 大家常说的基数是什么?(已发布) 讲讲什么是慢查!如何监控?如何排查? 对NotNull字段插入Null值有啥现象? 能谈谈 date.datetime.ti…
<MySQL面试小抄>查询缓存机制终面 我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!! 本期主要面试考点 面试官考点之简述一下什么是查询缓存机制? 面试官考点之查询如何命中缓存? 面试官考点之什么场景下SQL和结果集不会被缓存? 面试官考点之什么场景下会导致MySQL缓存失效? 面试官考点之查询缓存是如何进行内存管理的? 面试官考点之MySQL是一次性分配所有的内存空间吗? 面试官考点之…
<MySQL面试小抄>索引考点一面总结 我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟 囧囧表示:面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!! 本期主要面试考点 面试官考点之谈谈你对索引的理解? 面试官考点之解释一下计算机层面索引快的原因? 面试官考点之为什么不使用哈希结构作为索引结构? 面试官考点之为什么不使用二叉树作为索引结构? 面试官考点之为什么不使用B-Tree,而是B+Tree? 面试官考点之索引是加速查询,那么是否应该给表尽可能建立多的…
<MySQL面试小抄>索引考点二面总结 我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!! 本期主要面试考点 面试官考点之谈谈索引维护过程?页分裂?页合并? 面试官考点之简述一下查询时B+树索引搜索过程? 面试官考点之什么是回表? 面试官考点之什么是索引覆盖?使用场景? 面试官考点之什么情况下会索引失效? 面试官考点之哪些情况下,可能会面临索引失效的问题? 面试官考点之or走索引和索引失效分…
数据库的重要性是所有技术里最核心最需要掌握的(理解原理,并且被面试时能清晰的表达出来),直接决定运维人员薪水的高低! 所有题都要给出专业的解答方案,不是很水的那种泛泛的解答. 面试题001:什么是MySQL多实例,如何配置MySQL多实例? 面试题002:如何加强MySQL数据的安全,请你给出可行的思路? 面试题003:企业中MySQL root密码忘了怎么解决,多实例密码忘了又如何解决? 面试题004:MySQL库授权oldboy用户管理bbs库的所有表,172.16.1.0整个网段访问,密码…
做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离... 数据库的使用,是开发人员的基本功,对它掌握越清晰越深入,你能做的事情就越多. 今天我们用10分钟,重点梳理一遍以下几方面: 数据库知识点汇总: 数据库事务特性和隔离级别: 详解关系型数据库.索引与锁机制: 数据库调优与最佳实践: 面试考察点及加分项. 知识点汇总 一.数据库的不同类型 1.常用的关系型数据库 Oracle:功能强大,主要缺点就是贵 MySQL:互联网行业中最流行的数据库,这不仅…
昨天晚上无意中翻译到baidu的 dba(mysql,redis) 面试题,阅读了一下,发现没有一个自己能完美解释的.这确实是温床导致的思维懒惰. 具体几个问题如下: 1:MySQL InnoDB存储的文件结构? 2:索引树是如何维护的? 3:数据库自增主键可能的问题? 4:  Redis的并发竞争问题如何解决? 5: 了解Redis事务的CAS操作吗? 首先我认为上述几个问题都是比较大的命题,没有一个全面且深刻的认识,很容易测试出面试者的技能边界. 问题一 ,要求是理解innodb存储文件的结…
作者:呼延十 juejin.im/post/5d351303f265da1bd30596f9 前言 本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水. 前一阵系统的学习了一下MySQL,也有一些实际操作经验,偶然看到一篇和MySQL相关的面试文章,发现其中的一些问题自己也回答不好,虽然知识点大部分都知道,但是无法将知识串联起来. 因此决定搞一个MySQL灵魂100问,试着用回答问题的方式,让自己对知识点的理解更加深入一点. 此文不会事无巨细的…
1.MySQL的复制原理以及流程 (1).复制基本原理流程 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中: 2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中: 3. 从:sql执行线程——执行relay log中的语句: (2).MySQL复制的线程有几个及之间的关联 MySQL 的复制是基于如下 3 个线程的交互( 多线程复制里面应该是 4 类线程):…
对话一: 面试官:重新安装mysql卡在最后一步,怎么解决? 应聘者:第一次安装完mysql,由于各种原因需要重新安装是经常遇到的问题,解决方案如下.              1)在注册表里搜索mysql删除相关记录.              2)删除mysql安装目录下的mysql文件.              3)删除“C:/ProgramData”目录下的mysql文件夹,然后重新安装,安装成功. 对话二: 面试官:使用mysql Command Line Client 登录时窗口闪…
公司招聘MySQL DBA,也面试了10个2年MySQL DBA工作经验的朋友,谈谈自己的心得,欢迎大家指点. 1    2年MySQL DBA经验 其中许多有水分,一看到简历自我介绍,说公司项目的时候,会写上linux系统维护,mssql server项目,或者oracle data gard项目,一般如果有这些的话,工作在3年到4年的话,他的2年MySQL DBA管理经验,是有很大的水分的.刚开始我跟领导说,这些不用去面试了,肯定mysql dba经验不足,领导说先面面看看,于是我就面了,结…
我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!! 本期主要面试考点 面试官考点之什么情况下会索引失效? 本期验证以下索引失效的常见场景 1.like通配符,左侧开放情况下,全表扫描 2.or条件筛选,可能会导致索引失效 3.where中对索引列使用mysql的内置函数,一定失效 4.where中对索引列进行运算(如,+.-.*./),一定失效 5.类型不一致,隐式的类型转换,导致的索引失效…
相关:http://blog.csdn.net/u013252072/article/details/52912385          http://blog.csdn.net/zhangliangzi/article/details/52303246 mysql数据库">1.如何登陆mysql数据库 mysql -u username -p 2.如何开启/关闭mysql服务 service mysql start/stop 3.查看mysql的状态 service mysql stat…
第一方面:30种mysql优化sql语句查询的方法 避免全表扫描: 1.where 及 order by 上建立索引.2.避免在 where 子句中使用!=或<>操作符3. select id from t where num is null    改成: num上设置默认值0==> select id from t where num=04.避免在 where 子句中使用 or 来连接条件 select id from t where num=10 or num=20 ==> s…
有这样一个成绩表,学生A,B,C,三个人,考试科目分别为C(chinese),M(math),E(english) 求三门课成绩都大于80分的那个学生姓名: 即查询的方法可分为俩种:select name from class3 group by name having min(grade)>80 或者select distinct name from class3 where name not in (select distinct name from class3 where grade<…
写一条SQL语句,求出2门以及2门以上不及格的科目平均分 >要出现2门以及2门以上的学科不及格 >计算该考生所有学科的平均分,不单是,不及格的那几门 #创建表: create table `ecs_mian2` ( `user_name` varchar (20), `subject` varchar (20), `score` int (4) ); '); '); '); '); '); '); '); '); '); '); 思路一: 求出score < 60的科目数,然后统计平均分…
==============================================# 参数==============================================autocommit事务操作中是否自动提交,如果为1则自动提交,为0则需要commit. back_logmysql服务在很短的时间内有很多的连接请求时该参数就会发挥作用. 如果短时间内有很大连接数可考虑增加该值.不过限制于系统层面的连接数. 5.6.6之前默认50, 5.6.6之后基于50+(max_co…
转自: https://blog.csdn.net/u011010851/article/details/80074550 Q1:主键,外键,超键,候选键:主键    对表中数据进行唯一标识的数据列的组合:不能缺失:不能空值:外键    该列为另一表的主键:超键    关系中能唯一标识数据的属性:候选键    不含多余属性的超键: Q2:数据库事务的四个特征及含义:原子性    要么全部完成,要么不完成,若发生错误会进行回滚操作:一致性    开始到结束后,数据库完整性约束没收到破坏:(实体完整…
  1, mysql的复制原理以及流程. (1)先问基本原理流程,3个线程以及之间的关联. (2)再问一致性,延时性,数据恢复. (3)再问各种工作遇到的复制bug的解决方法 2,mysql中myisam与innodb的区别,至少5点. (1) 问5点不同 1>.InnoDB支持事物,而MyISAM不支持事物 2>.InnoDB支持行级锁,而MyISAM支持表级锁 3>.InnoDB支持MVCC, 而MyISAM不支持 4>.InnoDB支持外键,而MyISAM不支持 5>.…
1.为什么InnoDB表最好要有自增列做主键? InnoDB引擎表是基于B+树的索引组织表(IOT) 关于B+树 (图片来源于网上) B+ 树的特点: a.所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的; b.不可能在非叶子结点命中; c.非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据的数据层. 1.如果我们定义了主键(PRIMARY KEY) 那么InnoDB会选择主键作为聚集索引.如果没有显式定义主键,则InnoDB会选择第一个…
表结构设计 1.为什么一定要设一个主键?  答:因为你不设主键的情况下,innodb也会帮你生成一个隐藏列,作为自增主键.所以啦,反正都要生成一个主键,那你还不如自己指定一个主键,在有些情况下,就能显式的用上主键索引,提高查询效率! 2.你们主键是用自增还是UUID?  答:肯定答自增啊.innodb中的主键是聚簇索引.如果主键是自增的,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页.如果不是自增主键,那么可能会在中间插入,就会引发页的分裂,产…
1.为什么索引遵循最左匹配原则? 当B+树的数据项是符合的数据结构,比如(name,age,sex)的时候,B+树是按照从左到右的顺序建立搜索树的.比如当(张三,20,F)这样的数据来检索的时候,b+树会优先比较name来确定下一步的所搜方向,如果name相同再依次比较age和sex,最后得到检索的数据:但当(20,F)这样的没有name的数据来的时候,B+树就不知道下一步该查哪个节点,因为建立搜索树的时候name就是第一个比较因子,必须要先根据name来搜索才能知道下一步去哪里 查询.比如当(…
01.MySQL技术特点? Mysql数据库软件是一个客户端或服务器系统,支持各种客户端程序和库的多线程SQL服务器.不同的后端.广泛的应用程序编程接口和管理工具 02.MySQL默认端口号? 3306 03.MySQL的优势? MySQL是开源软件,随时可用,无需付费.提供管理.检查.优化数据库操作的管理工具,带有命令提示符的GUI,支持多种存储引擎,支持多线程充分利用 CPU 资源 04.MySQL支持的储存引擎以及特点? MySQL5.7支持:InnoDB.MyISAM.MERGE.MEM…
面试的技术名词 面试一般会遇到一些名词,其实可能自己都知道其中的道理,但是因为没了解过,当时心里就一句WC,然后弱弱答一句:不好意思这个我只是听过,具体还没了解过: 回表 覆盖索引 最左前缀匹配 索引下推 1.回表 所谓的回表就是因为普通索引的叶子节点中存储的不是行数据而是主键的值,然后通过主键值到主键索引树中的叶子节点获取具体的值: 首先表中有5条基本数据: 下图为主键索引树(B+Tree)的简化模型: 下图为回表的简化流程图: 在普通索引树中获取主键id的值,然后再到主键索引树中回去主键索引…
一.常见存储引擎 1.1 InnoDB InnoDB 是 MySQL 5.5 之后默认的存储引擎,它具有高可靠.高性能的特点,主要具备以下优势: DML 操作完全遵循 ACID 模型,支持事务,支持崩溃恢复,能够极大地保护用户的数据安全: 支持多版本并发控制,它会保存数据的旧版本信息,从而可以支持并发和事务的回滚: 支持行级锁,支持类似 Oracle 的一致性读的特性,从而可以承受高并发地访问: InnoDB 组织数据时默认按照主键进行聚簇,从而可以提高主键查找的效率.对于频繁访问的数据,Inn…
** 目录 推荐阅读原文链接 一.基数是啥? 二.InnoDB更新基数的时机? 三.基数是估算出来 四.持久化基数 四.如何主动更新基数? 欢迎关注 Hi,大家好!我是白日梦. 今天我要跟你分享的话题是:"大家常说的基数是什么?" 推荐阅读原文链接 https://mp.weixin.qq.com/s/FgxwAFQbEjv5i-TxjvLK6Q 欢迎大家关注一下,刚开始写,持续更新中- 可加我微信 17861405320,欢迎拉你进大佬群 一.基数是啥? Cardinality指的就…