• 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、事务的特性有哪些;

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

    一个爱写文章的程序员,欢迎关注我的公众号“北漂程序员”。我有故事,你有酒吗
  • 相关阅读:
    Django的路由系统
    Django框架简介
    模块和包
    内置函数——filter和map
    匿名函数
    Djangon 基础总结 汇总 从请求到返回页面的过程,
    Django基础 一
    异常处理
    Sqoop
    Oozie
  • 原文地址:https://www.cnblogs.com/teach/p/14677145.html
Copyright © 2020-2023  润新知