MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的关系数据库管理系统应用软件之一,所以对于这方面知识一定要掌握,不仅在面试时候会考到,在进行答辩的时候也是重点,那今天我们就给大家分享一些MySQL数据库相关答辩题目。
1.什么是存储过程?用什么来调用?
存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。
如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。
2.索引的作用?和它的优点缺点是什么?
索引就是一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。
索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。
3.MySQL数据库有哪些类型的索引?
MySQL主要提供2种方式的索引:B-Tree索引,Hash索引。
B树索引具有范围查找和前缀查找的能力,对于有N节点的B树,检索一条记录的复杂度为O(LogN)。相当于二分查找。
哈希索引只能做等于查找,但是无论多大的Hash表,查找复杂度都是O(1)。
显然,如果值的差异性大,并且以等值查找(=、 <、>、in)为主,Hash索引是更高效的选择,它有O(1)的查找复杂度。
如果值的差异性相对较差,并且以范围查找为主,B树是更好的选择,它支持范围查找。
4.MySQL主从复制的原理是什么?
主库必须开启二进制日志
当有增删改的语句时,会记录到主库的binlog中
主库通过IO线程把binlog里面的内容传给从库的relay binlog(中继日志)(这是msyql复制是异步复制的原因)
从库的sql线程负责读取它的relay log里的信息并应用到数据库中
5.MySQL常见存储引擎及各自特点是什么?
(1)InnoDB
支持事务、行级锁、支持外键约束,主要面向OLTP的应用,使用next-key locking 的策略来避免幻读现象的产生.
(2)MyISAM
不支持事务、表锁设计、支持全文索引、读写互相阻塞、不支持外键约束;主要面向OLAP应用场景;缓存池只缓存索引文件,不缓存数据文件
(3)Memory
将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。如果数据库重启或者奔溃,数据都将丢失。
(4)TokuDB
支持事务、高压缩、告诉读写、基于稀疏树索引设计;支持大多数在线修改索引、添加字段。
(5)Inforbright/infinidb
列式存储、高压缩、单列查询快。
我们一定要掌握MySQL数据库的知识,这是java中的重要知识点,并且也会在实际工作中广泛应用,最后大家如果想要了解更多java面试题知识,敬请关注奇Q工具网。
推荐阅读: