zoukankan      html  css  js  c++  java
  • java面试一日一题:mysql中常用的存储引擎有哪些?

    问题:请讲下mysql中常用的引擎有哪些?

    分析:该问题主要考察对mysql存储引擎的理解,及区别是什么?

    回答要点:

    主要从以下几点去考虑,

    1、mysql的存储引擎的基本概念?

    2、mysql中常用的存储引擎有哪些及各自的区别是什么?

    从上篇《java面试一日一题:请讲下对mysql的理解》已经知道了mysql从整体架构上分为两部分,一部分是server层,另外一部分是存储引擎层。说的简单点存储引擎就是用来实际管理mysql中的数据,为了适用于不同的场景有了不同的存储引擎。比较常用的存储引擎有myIsam和Innodb两种。

    myIsam

    myIsam不支持事务;

    myIsam不支持外键;

    myIsam的索引是非聚集索引,索引和数据是分开的;

    myIsam使用一个变量保存了表中的数据总行数

    myIsam支持表锁;

    myIsam支持全文索引;

    Innodb

    innodb支持事务,事务的实现依靠redo log、undo log、锁、MVCC等技术;

    inndo是聚集索引,主键索引和数据是在一起的;

    innod没有保存数据的总行数;

    innodb支持表、行锁,默认是行锁;

    innodb不支持全文索引,在5.7以后的版本才支持全文索引;

    本文简单的从一个面试过程中常见的面试题入手,讲解了mysql的myIsam和Innodb两种存储引擎的区别。其实从上面的回答中面试官可以引申出很多问题,例如,

    1、什么是聚集、非聚集索引;

    2、mysql的索引数据结构是什么样子的,为什么使用B+树;

    3、什么是redo log、undo log

    4、什么是MVCC;

    5、事务的特性有哪些;

    简单列举下由本题引申的面试点,后面会统一总结。

    一个爱写文章的程序员,欢迎关注我的公众号“北漂程序员”。我有故事,你有酒吗
  • 相关阅读:
    hibernate关联关系
    数据结构之二叉树java实现
    队列java实现
    栈java实现
    原生JS结合cookie实现商品评分组件
    JAVA学习第一阶段(2)
    JAVA学习第一阶段(1)
    如何修改hosts并保存
    运行Apache时出现the requested operation has failed
    实现一元多项式
  • 原文地址:https://www.cnblogs.com/teach/p/14677145.html
Copyright © 2011-2022 走看看