zoukankan      html  css  js  c++  java
  • mysql面试复习

    一、存储引擎去区别

      A、存储文件:

        1. innodb有两个文件,frm文件存储表结构和元信息等,ibd存储数据(包括索引和数据)

        2. myisam有三个文件,因为索引和数据分开存放的

      B、事务区别

        1. innodb支持事务

        2. myisam、memory、archive都不支持事务

      C、锁区别

        1. innodb默认支持的是行锁,也支持表锁,取决于是否有索引,如果没有索引只支持表锁

        2. myisam默认支持的表锁

      D、外键

        1. innodb支持外键

        2. myisam不支持外键

      E、适用场景

        1. 如果要支持事务,选择innodb

        2. 如果主要用来插入和查询,myisam能有更高的效率

        3. 如果只是临时存放数据,数据量不大,并且不需要较高安全性,可以选择memory

        4. 如果只有insert和select操作,可以选择archive,注意不是并发安全的,非常适合归档数据,记录日志等。

    二、架构

      A、client

      B、mysqlserver

        1. 连接器

        2. 分析器

        3. 优化器

        4. 执行器

      C、存储引擎

    三、事务四大特性实现原理

      A、原子性实现原理

        1. 通过undo log来实现,在操作任何数据之前,现将数据备份到undo log,然后进行数据修改,如果需要回滚,就通过undo log来恢复。

      B、持久性实现原理

        1. 通过redo log来实现

      C、隔离性原理

        1. 未提交读

        2. 提交读

        3. 可重复读

        4. 串行化

  • 相关阅读:
    c语言产生随机数的方法
    二叉树递归建立
    二叉树的非递归建立
    建立链表并逆序打印该链表
    C语言中最常用标准库函数
    九个uname命令获取Linux系统详情的实例
    Ubuntu12.04安装Chrome浏览器,并添加到左侧的启动栏
    编程判断大端字节序和小端字节序
    将十进制转换成二进制输出,递归写法
    Lucene介绍及简单入门案例(集成ik分词器)
  • 原文地址:https://www.cnblogs.com/DjanFey/p/12347977.html
Copyright © 2011-2022 走看看