加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

互联网公司面试必问的MySQL题目

发布时间:2019-03-17 22:22:51 所属栏目:编程 来源:codeyuyu
导读:互联网公司口试必问的MySQL标题(上) 01什么是数据库事宜?假如没有事物会有什么效果?事宜的特征是什么? 事宜是指作为单个逻辑事变单位执行的一系列操纵,可以被看作一个单位的一系列SQL语句的荟萃。要么完全地执行,要么完全地不执行。 假如差池数据库举办

常见的办理死锁的要领

  1. 假如差异措施会并发存取多个表,只管约定以沟通的次序会见表,可以大大低落死锁机遇。
  2. 在统一个事宜中,尽也许做到一次锁定所必要的全部资源,镌汰死锁发生概率;
  3. 对付很是轻易产存亡锁的营业部门,可以实行行使进级锁定颗粒度,通过表级锁定来镌汰死锁发生的概率;

假如营业处理赏罚欠好可以用漫衍式事宜锁可能行使乐观锁

05SQL的生命周期?要害字的先后次序?

  1. 应用处事器与数据库处事器成立一个毗连
  2. 数据库历程拿到哀求sql
  3. 理会并天生执行打算,执行
  4. 读取数据到内存并举办逻辑处理赏罚
  5. 通过步调一的毗连,发送功效到客户端
  6. 关掉毗连,开释资源
  1. FROM:对 FROM 子句中的前两个表执行笛卡尔积(交错联接),天生假造表 VT1。
  2. ON:对 VT1 应用 ON 筛选器,只有那些使为真才被插入到 TV2。
  3. OUTER (JOIN):假如指定了 OUTER JOIN(相对付 CROSS JOIN 或 INNER JOIN),保存表中未找到匹配的行将作为外部行添加到 VT2,天生 TV3。假如 FROM 子句包括两个以上的表,则对上一个联接天生的功效表和下一个表一再执行步调 1 到步调 3,直处处理赏罚完全部的表位置。
  4. WHERE:对 TV3 应用 WHERE 筛选器,只有使为 true 的行才插入 TV4。
  5. GROUP BY:按 GROUP BY 子句中的列列表对 TV4 中的行举办分组,天生 TV5。
  6. CUTE|ROLLUP:把超组插入 VT5,天生 VT6。
  7. HAVING:对 VT6 应用 HAVING 筛选器,只有使为 true 的组插入到 VT7。
  8. SELECT:处理赏罚 SELECT 列表,发生 VT8。
  9. DISTINCT:将一再的行从 VT8 中删除,产物 VT9。
  10. ORDER BY:将 VT9 中的行按 ORDER BY 子句中的列列表次序,天生一个游标(VC10)。
  11. TOP:从 VC10 的开始处选择指定命量或比例的行,天生表 TV11,并返回给挪用者。

06什么是乐观锁?气馁锁?实现方法?

气馁锁:

气馁锁指对数据被不测修改持守旧立场,依靠数据库原生支持的锁机制来担保当前事宜处理赏罚的安详性,防备其他并发事宜对方针数据的粉碎或粉碎其他并发事宜数据,将在事宜开始执行前或执行中申请锁定,执行完后再开释锁定。这对付长事宜来讲,也许会严峻影响体系的并发处理赏罚手段。 自带的数据库事宜就是典范的气馁锁。

乐观锁:

乐观锁(Optimistic Lock),顾名思义,就是很乐观,每次去拿数据的时辰都以为别人不会修改,以是不会上锁,可是在提交更新的时辰会判定一下在此时代别人有没有去更新这个数据。乐观锁合用于读多写少的应用场景,这样可以进步吞吐量。

一样平常是加一个版本号字段 每次更新时辰较量版本号

07大数据环境下怎样做分页?

可以参考阿里巴巴java开拓手册上的谜底

08什么是数据库毗连池?

从上一个sql生命周期标题,可以看到个中的毗连在内里施展着重大浸染,但频仍的建设和烧毁,很是挥霍体系资源。因为数据库更得当长毗连,也就有个毗连池,能对毗连复用,维护毗连工具、分派、打点、开释,也可以停止建设大量的毗连对DB激发的各类题目;其它通过哀求列队,也缓解对DB的攻击。

互联网公司口试必问的MySQL标题(下)

什么是数据库索引?索引有哪几种范例?什么是最左前缀原则?索引算法有哪些?有什么区别?

索引是对数据库表中一列或多列的值举办排序的一种布局。一个很是适当的比喻就是书的目次页与书的正文内容之间的相关,为了利便查找书中的内容,通过对内容成立索引形成目次。索引是一个文件,它是要占有物理空间的。

主键索引:

数据列不应承一再,不应承为NULL.一个表只能有一个主键。

独一索引:

数据列不应承一再,应承为NULL值,一个表应承多个列建设独一索引。

可以通过

  1. ALTER TABLE table_name ADD UNIQUE (column); 

建设独一索引

可以通过

  1. ALTER TABLE table_name ADD UNIQUE (column1,column2); 

建设独一组合索引

平凡索引:

根基的索引范例,没有独一性的限定,应承为NULL值。

可以通过ALTER TABLE table_name ADD INDEX index_name (column);建设平凡索引

可以通过ALTER TABLE table_name ADD INDEX index_name(column1, column2, column3);建设组合索引

全文索引:

是今朝搜刮引擎行使的一种要害技能。

可以通过ALTER TABLE table_name ADD FULLTEXT (column);建设全文索引

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读