Java常见面试题(二)

MySQL部分

  1. Mysql的常用存储引擎和区别?
    MyISAM: 如果你有一个 MyISAM 数据表包含着 FULLTEXT 或 SPATIAL 索引,你将不能把它转换为使用另一种引擎,因为只有 MyISAM 支持这两种索引。
    BLOB: 如果你有一个数据表包含着一个BLOB数据列,你将不能把它转换为使用MEMORY 引擎,因为MEMORY引擎不支持 BLOB 数据列。
    MEMORY: MEMORY数据表存在于内存中,在服务器退出运行时将消失。因此,如果你希望某个数据表的内容在服务器重新启动后仍然存在,就不应该把它转换为 MEMORY 类型。
    MERGE: 如果你使用了一个 MERGE 数据表来管理一组 MyISAM 数据表, 就应该避免使用 ALTER TABLE语句去改变个别 MyISAM 数据表的结构,除非你决定对所有的成员 MyISAM 数据表和那个MERGE 数据表做出同样的修改。 MERGE 数据表的正常使用需要其全体成员 MyISAM数据表有着同样的结构。
    InnoDB: InnoDB 数据表可以被转换为使用另一种存储引擎。不过,如果你为你的 InnoDB数据表定义了外键约束条件,那些约束条件在转换后将不复存在,因为只有 InnoDB 才支持外键。
  2. Mysql数据量多大时需要分表?
    单表记录行数超过 500 万行,或者单表容量超过 2G,此数据不是固定的
  3. 数据库的分库分表的场景及对应的方案?
    原文链接
  4. Mysql中有几种锁?
    在这里插入图片描述
  5. Mysql中记录货币用什么字段好?
    使用decimal或者numric类型。
  6. Mysql中InnoDB支持的四种事务隔离级别,以及逐级之间的区别?
    脏读:一个事务读取到另一个事务未提交的数据,这个情况叫脏读
    不可重复读:一个事务读取到另外一个已经提交的事务的数据,导致事务提交前后读取到的内容不一致,这种现象称之为不可重复读
    虚读/幻读:一个事务读取到另外一个事务已经提交的数据,最后做出的整表操作,这种情况称之为虚读/幻读(一般不会出现)在这里插入图片描述
  7. 如下表
    在这里插入图片描述
    请写出学生 课程成绩信息列表,并按学号排序的SQL
    请写出查询又三门课程成绩优医生的学生的信息的 SQL(请写出平均成绩几个的所有学生信息,并按学号排序的SQL)

猜你喜欢

转载自blog.csdn.net/weixin_43980936/article/details/102485120
今日推荐