MySQL面试常问问题

1.mysql事务特征

答:原子性,一致性,隔离性,持久性。

2.mysql索引是怎么实现的

答:数据库索引通常使用B树或者B+树

3.mysql的搜索引擎MyISAM 和 InnoDB 是MySQL区别?

答:

m:MyISAM    i:InnoDB

  1. 事务支持
         m: 不支持事务, 追求的性能, 速度
         i: 支持事务 功能强大
  2. 全文索引 FULLTEXT
         m: 支持
         i: 不支持 通过第三方技术shpinx 来完成全文索引
        注意: MySQL 5.6 以前的版本,只有 MyISAM 存储引擎支持全文索引;
         MySQL 5.6 及以后的版本,MyISAM 和 InnoDB 存储引擎均支持全文索引;
         只有字段的数据类型为 char、varchar、text 及其系列才可以建全文索引。
  3. CURD操作
         m: 执行大量的查询操作, 速度相对比较快
         i: 执行大量的增删改操作, 速度相对比较快
  4. 表总行数
         m: 存储总行数 , 通过count() 来统计总行数, 直接获取
         i: 没存总行数 , 通过count() 来统计总行数, 消耗巨大
    注意: 如果带条件的查询, 两者没区别, 消耗都巨大
  5. 行锁,表锁
         m: 支持表锁
         i: 支持表锁, 也支持行锁(默认)

总结:
     对于多读少写, 重速度, 建议采用 MyISAM
     对于多写少读, 需要事务, 大数据, 建议采用 InnoDB

4.mysql三范式

答:1NF:无重复的列,每一列都是不可分割的基本数据项,同一 列中不能有多个值,即实体中的某个属性不能有多个值或者不 能有重复的属性。
2NF:属性完全依赖于主键,第二范式必须先满足第一范式, 要求表中的每个行必须可以被唯一地区分。通常为表加上一个 列,以存储各个实例的唯一标识PK,非PK的字段需要与整个 PK有直接相关性
3NF 属性不依赖于其他非主属性;

5.mysql隔离级别

答:mysql事务的并发问题一般有:脏读,不可重复读,幻读三种情况。mysql给出了四种数据隔离级别:读未提交,读已提交,不可重复读,串行化。一般使用第三级别(不可重复读)就可以解决脏读和不可重复读的问题,串行化三种问题都可以解决。

6.mysql优化简单说下?

答:首先去看需要优化的SQL,先分析SQL中有没有用到索引,如果用到了给常用的字段加上索引,如果加了索引还是很慢,就是使用show profile命令分析具体原因,看看加了索引是否用到了。

一般使用SQL查询时需要注意什么:
(1) 尽量不要使用select * ,换成加上索引的字段

(2) 少用in ,如果in里面的数据比较多还是会回表的

(3) 对查询的列不要使用函数或者运算。否则索引无法使用。

一般加了索引但没有用到的情况:

(1) 用OR分隔开的条件,如果OR前面的条件中的列有索引,而后面的列没有索引,那么涉及到的列索引不会被使用。

(2) 不是用到复合索引中的第一列即最左边的列的话,索引就不起作用(最左原则)。

(3) 如果like是以%开头的

(4) 如果列类型是字符串,那么where条件中字符常量值不用’’引号引起来的话,那就不会失去索引效果,这是因为MySQL会把输入的常量值进行转换再使用索引。

(5)order by 字段混合使用DESC ASC 不会使用索引;Where条件过滤的关键字和Order by中所使用的不同 不会使用索引.

1、查看SQL的执行频率---------------使用show status命令

2、定位哪些需要优化的SQL------------通过慢查询记录+show processlist命令查看当前线程

3、分析为什么SQL执行效率低------------使用explain/desc命令分析

相关列简单解释:type、table、select_type...
4、对症下药采取优化措施-----------举例采取index进行优化

7.主键和唯一索引的区别?

答:

主键和唯一索引都要求值唯一,但是它们还是有区别的:
①.主键是一种约束,唯一索引是一种索引;
②.一张表只能有一个主键,但可以创建多个唯一索引;
③.主键创建后一定包含一个唯一索引,唯一索引并一定是主键;
④.主键不能为null,唯一索引可以为null;
⑤.主键可以做为外键,唯一索引不行;
⑥.主键约束比唯一索引约束严格,当没有设定主键时,非空唯一索引自动称为主键。主键产生唯一的聚集索引,唯一索引产生唯一的非聚集索引
注:聚集索引确定表中数据的物理顺序,所以是主键是唯一的(聚集就是整理数据的意思)

从图中不难看出,主键索引和非主键索引的区别是:非主键索引的叶子节点存放的是主键的值,而主键索引的叶子节点存放的是整行数据,其中非主键索引也被称为二级索引,而主键索引也被称为聚簇索引。

根据这两种结构我们来进行下查询,看看他们在查询上有什么区别。

1、如果查询语句是 select * from table where ID = 100,即主键查询的方式,则只需要搜索 ID 这棵 B+树。

2、如果查询语句是 select * from table where k = 1,即非主键的查询方式,则先搜索k索引树,得到ID=100,再到ID索引树搜索一次,这个过程也被称为回表。

8.为什么添加了索引,查询会更快?

答:

传统的查询方法,是按照表的顺序遍历的,不论查询几条数据,mysql需要将表的数据从头到尾遍历一遍
在我们添加完索引之后,mysql一般通过BTREE算法生成一个索引文件,在查询数据库时,找到索引文件进行遍历(折半查找大幅查询效率),找到相应的键从而获取数据

索引的代价:
创建索引是会产生索引文件的,占用磁盘空间;索引文件是一个二叉树类型的文件,可想而知我们的dml操作同样也会对索引文件进行修改,所以性能会下降

9.在哪些column上使用索引?

答:

1.较频繁的作为查询条件字段应该创建索引
2.唯一性太差的字段不适合创建索引,尽管频繁作为查询条件,例如gender性别字段
3.更新非常频繁的字段不适合作为索引
4.不会出现在where子句中的字段不该创建索引

mysql优化://www.greatytc.com/p/b43318a2b395

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