今日流程

一关系型数据库

1、Mysql 部分

1.1 架构图介绍

架构图.png

1.连接管理与安全验证是什么?

每个客户端都会建立一个与服务器连接的线程,服务器会有一个线程池来管理这些
连接;如果客户端需要连接到 MYSQL 数据库还需要进行验证,包括用户名、密码、主机信息等。

2.解析器是什么?

解析器的作用主要是分析查询语句,最终生成解析树;首先解析器会对查询语句的语法进行分析,分析语法是否有问题。还有解析器会查询缓存,如果在缓存中有对应的
语句,就返回查询结果不进行接下来的优化执行操作。前提是缓存中的数据没有被修
改,当然如果被修改了也会被清出缓存。

3.优化器怎么用?

优化器的作用主要是对查询语句进行优化操作,包括选择合适的索引,数据的读取方
式,包括获取查询的开销信息,统计信息等,这也是为什么图中会有优化器指向存储
引擎的箭头。之前在别的文章没有看到优化器跟存储引擎之间的关系,在这里我个人
的理解是因为优化器需要通过存储引擎获取查询的大致数据和统计信息。

4.执行器是什么?

执行器包括执行查询语句,返回查询结果,生成执行计划包括与存储引擎的一些处理操作。

5.存储引擎都有哪些?

1)B InnoDB 存储引擎
InnoDB 是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键,InnoDB
是默认的 MySQL 引擎。
2) MyISAM 存储引擎
MyISAM 基于 ISAM 存储引擎,并对其进行扩展。它是在 Web、数据仓储和其他应用环境下
最常使用的存储引擎之一。MyISAM 拥有较高的插入、查询速度,但不支持事物。
3)Y MEMORY 存储引擎
MEMORY 存储引擎将表中的数据存储到内存中,未查询和引用其他表数据提供快速访问。

6.事务介绍

mysql 和其它的数据库产品有一个很大的不同就是事务由存储引擎所决定,例如
MYISAM,MEMORY,ARCHIVE 都不支持事务,事务就是为了解决一组查询要么全部执行成功,要么全部执行失败。
mysql 事务默认是采取自动提交的模式,除非显示开始一个事务
SHOW VARIABLES LIKE 'AUTOCOMMIT';
修改自动提交模式,0=OFF,1=ON
注意:修改自动提交对非事务类型的表是无效的,因为它们本身就没有提交和回滚
的概念,还有一些命令是会强制自动提交的,比如 DLL 命令、lock tables 等。
SET AUTOCOMMIT=OFF 或 SET AUTOCOMMIT=0

7.事务的 ACID(四大)特性是什么?

答:数据库事务 transanction 正确执行的四个基本要素。ACID,原子性(Atomicity)、
一致性(Correspondence)、隔离性(Isolation)、持久性(Durability)。
1)原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停
滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开
始前的状态,就像这个事务从来没有执行过一样。
2)一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
3)隔离性:隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。
如果有两个事务,运行在相同的时间内,执行 相同的功能,事务的隔离性将确保
每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了
防止事务操作间的混淆, 必须串行化或序列化请 求,使得在同一时间仅有一个
请求用于同一数据。
4)持久性:在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据
库之中,并不会被回滚。

8.mysql 有四种隔离级别分别是什么:

未提交读(READ UNCOMMITTED):未提交读隔离级别也叫读脏,就是事务可以读
取其它事务未提交的数据。
提交读(READ COMMITTED):在其它数据库系统比如 SQL Server 默认的隔离级别就
是提交读,已提交读隔离级别就是在事务未提交之前所做的修改其它事务是不可见
的。
可重复读(REPEATABLE READ):保证同一个事务中的多次相同的查询的结果是一致
的,比如一个事务一开始查询了一条记录然后过了几秒钟又执行了相同的查询,保证
两次查询的结果是相同的,可重复读也是 mysql 的默认隔离级别。
可串行化(SERIALIZABLE):可串行化就是保证读取的范围内没有新的数据插入,比
如事务第一次查询得到某个范围的数据,第二次查询也同样得到了相同范围的数据,
中间没有新的数据插入到该范围中。

9.创建存储过程怎么写?

“pr_add” 是个简单的 MySQL 存储过程,这个 MySQL 存储过程有两个 int 类型的输入参数 “a”、“b”,返回这两个参数的和。
1) drop procedure if exists pr_add;
2)计算两个数之和
create procedure pr_add ( a int, b int ) begin declare c int;
if a is null then set a = 0;
end if;
if b is null then set b = 0;
end if;
set c = a + b;
select c as sum;

10.触发器怎么写?

触发器语句:
create trigger 触发器的名字 on 操作表
for|after instead of
update|insert|delete

面试题

jmyp.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,539评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,594评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,871评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,963评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,984评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,763评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,468评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,850评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,002评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,144评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,823评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,483评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,026评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,150评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,415评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,092评论 2 355

推荐阅读更多精彩内容

  • 一、面试题 抽象类和接口的区别 1.接口描述了方法的特征,不给出实现,一方面解决java的单继承问题,实现了强大的...
    天道灬酬勤阅读 511评论 0 1
  • 1、面试题 谈谈对Spring框架的理解 Spring是一个封层的一站式开发的轻量级开源框架,通过配置文件中的 元...
    天道灬酬勤阅读 302评论 0 0
  • 面试题 1.抽象类与接口的区别 2.常用的集合有哪些,谈谈你对他们的理解 3.==和equals()的区别? 4....
    天道灬酬勤阅读 219评论 0 2
  • 宏图大志。
    刘丽宏阅读 148评论 0 0
  • 经常使用微信聊天,没事儿就会想输入框的实现过程,所以抽空,也实现了一个输入框的功能; 经过封装,使用就非常的简单了...
    软件iOS开发阅读 1,915评论 1 5