mysql面试知识点

一、数据库设计的三大范式

        1.表中字段不可再分割;

        2.必须有主键,非主键列完全依赖于主键;

        3.在2的基础上,非主键之间不能存在依赖。

二、存储引擎

        (一)常见的存储引擎

        InnoDB,MyIsAM,Archive,Memory等。只有InnoDB支持事物。

        (二)InnoDB和MyIsAM的比较

         (三)事物

        1.原子性:指事物执行要么成功要么失败。

        2.一致性:指事物提交前后数据保持一致。例如转账,甲乙二人金额总数是一致的。

        3.隔离性:事物提交过程中不受其他事物的干扰和影响。

        4.持久性:事物提交后会落盘到磁盘中持久化。

        (四)常见的现象

        1.脏读:指事物执行过程中读取到其他事物还未提交的数据;

        2.不可重复度:事物中的两次查询结果中的数值不一致,强调同一行数据的差异;

        3.幻读:事物中的两次查询结果中的数据不一致,强调结果中的行数发生变化。

        (五)事物的隔离级别

        1.读未提交:会发生脏读、幻读和不可重读读的问题;

        2.读已提交:会发生幻读和不可重复读的问题;

        3.可重复读:会发生幻读问题;

        4.可串行:不会发生上述问题。

                隔离级别越高,并发效率越低。大部分数据库的默认隔离级别为读已提交,而mysql默认隔离级别为可重复读。在5.0之前的mysql的默认隔离级别也是读未提交,这和mysql的主从一致性有关。5.0版本之前,mysql的bin log文件的存储格式为statment,只记录对数据库的修改操作,不记录其他操作,导致主从一致性方面做的很差,数据经常不一致,因此隔离级别发生变化。

三、索引

       (一)B+树与B树的区别

           1.b+树非叶子结点仅包含关键字信息,b-树所有节点都有一个指针;

           2.b+树叶子结点存储有索引和数据信息,b-树所有节点都有索引和数据信息;

           3.b+树的叶子结点之间使用双向链表连接,是有序的,方便范围查找。

       (二)索引类型 

            聚族索引和非聚族索引。(聚族索引又称为主键索引,主键索引要求不能为null,不能重复)

            单列索引、组合索引、唯一索引(唯一索引要求值唯一,但允许有null值,例如手机号)

       (三)使用索引的建议

区、左、*、联,算、串、模、排

            1.索引必须要有区分度;

            2.索引设计需要符合最左匹配原则;

            3.尽量能不select *就不使用select *,能明确的字段尽量写清楚;

            4.尽量多使用联合索引加快查询效率;

            5.索引字段中不能有运算,包括加减乘除等;

            6.索引中不能包含字符串和数字的模糊匹配;

            7.尽量少使用模糊查询;比如like,%张这种查询;

            8.排序尽量使用索引字段。

       (四)explain--sql性能分析神器

           1.通过explain分析可获知那些信息?

                    访问类型type、可能存在的索引、实际命中的索引、查询了多少行、执行时间。

            2.type:

                system > const > eq_ref > ref > range > index > all

                system:表中只有一条数据;

                const:通过索引一次就查到了数据;

                eq_ref:索引只有一条数据匹配;

                ref:索引有多条数据匹配;

                range:查询到给定范围的数据;

                index:索引失效;

                all:全表查询。

                    sql语句最低要求要达到range级别,尽可能达到ref级别。

       (五)大表如何优化

            策略:1.限定查询范围(只能查半年内的聊天记录等);

                       2.读写分离;

                       3.分库分表,垂直水平拆分;等

四、mysql的日志

               主要包括查询日志、事物日志、bin log 等,比较重要的是bin log和redo/undo log。

        1.bin log:二进制日志文件。是数据库级别的日志文件,主要记录对表的修改操作(划重点:表、修改)。主要用于恢复数据和同步数据。bin log文件中数据的存储格式有三种,分别是statment、row和mix。

        2.redo log:InnoDB存储引擎级别的日志文件,用于记录事物的操作,可保证数据的完整性。

        3.undo log:相当于一个版本控制工具,记录了redo log数据以及表中数据的不同版本。可利用它实现事物的回滚操作。


五、mysql架构

            一条数据库语句从客户端传到DB服务端的大致流程:



六、mysql并发策略

        1.乐观锁

        2.悲观锁

        3.行锁

        4.表锁

        5.页锁

        6.时间戳

        7.redis分布式锁

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

推荐阅读更多精彩内容