数据库常见面试题-十年后库洛姆与谁见面
首先,对于关系型数据库来说数据库常见面试题,索引是一个非常重要的概念。 请回答几个关于索引的问题: a) 索引的目的是什么?
快速访问数据表中的特定信息,提高检索速度
创建唯一索引,保证数据库表中每一行数据的唯一性。
加速表和表之间的连接
使用分组和排序子句进行数据检索时,可以显着减少查询中分组和排序的时间
b) 索引对数据库系统有什么负面影响?
负面影响:
创建和维护索引都需要时间,这个时间随着数据量的增加而增加; 索引需要占用物理空间,不仅表需要占用数据空间,每个索引也需要占用物理空间; 在增删表时,Change,索引也必须动态维护,降低了数据维护的速度。
c) 索引数据表的原则是什么?
在最常用的字段上建立索引以缩小查询范围。
对需要排序的常用字段建立索引
d) 什么情况下不应该建立索引?
对于查询很少涉及的列或重复值较多的列,不宜建索引。
对于一些特殊的数据类型,不适合建索引,比如文本字段(text)。
二、简述MySQL数据库中MyISAM和InnoDB的区别
它区别于其他数据库的最重要的特点是它的插件表存储引擎。 请记住:存储引擎基于表,而不是数据库。
InnoDB 和 MyISAM 的区别:
InnoDB存储引擎:主要面向OLTP(Online Transaction Processing,联机事务处理)应用,是第一个全面支持ACID事务的存储引擎(BDB第一个支持事务的存储引擎已经停止开发)。
特征:
MyISAM存储引擎:是MySQL官方提供的存储引擎,主要面向OLAP(Online Analytical Processing,联机分析处理)应用。
特征:
3.解释MySQL outer join、inner join和self join的区别
先说交叉连接:交叉连接也叫笛卡尔积。 它是指不使用任何条件,直接将一个表中的所有记录与另一个表中的所有记录进行匹配。
内部联接是只有条件的交叉联接。 根据一定的条件,过滤掉符合条件的记录,不符合条件的记录不会出现在结果集中,即inner join只连接匹配的行。
外连接的结果集不仅包含满足连接条件的行,还包含左表、右表或两表的所有数据行。
这三种情况依次称为左外连接、右外连接、全外连接。
左外连接,也称左连接数据库常见面试题,左表为主表,左表中的所有记录都会出现在结果集中。 对于右表中不匹配的记录,仍然会显示出来。 右边对应的字段值是NULL来填。
右外连接,又称右连接,右表为主表,右表中的所有记录都会出现在结果集中。 左连接和右连接可以互换,MySQL 目前不支持全外连接。
以上是文章的全部内容。 有学习经验交流的可以加PHP自学中心。 一起学习、交流、进步!
让学习成为一种习惯