数据工程师面试常见题目汇总

本文汇总了数据工程师面试中常见的数据库相关问题,包括UNION ALL与UNION的区别、唯一索引的含义、触发器管理、自定义函数特性、STR函数处理小数、索引策略、视图的作用、存储过程与自定义函数的不同、日期判断、事务理解、索引设计、以及事务和锁的关系等核心知识点,帮助考生全面准备面试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、为什么 UNION ALL 比 UNION 快?

  答:因为在使用 UNION 的时候,需要删除重复的记录,但是使用 UNION ALL 的时候不用删除。所以如果在知道需要 UNION 的查询不可能出现重复数据的时候,一定要使用 UNION ALL。

2、什么是唯一索引?

  答:唯一索引可以确保索引列不包含重复的值。在多列唯一索引的情况下,该索引可以确保索引列中每个值组合都是唯一的。聚集索引和非聚集索引都可以是唯一的。因此,只要列中的数据是唯一的,就可以在同一个表上创建一个唯一的聚集索引和多个唯一的非聚集索引。只有当唯一性是数据本身的特征时,指定唯一索引才有意义。如果必须实施唯一性以确保数据的完整性,则应在列上创建UNIQUE或PRIMARY KEY约束,而不要创建唯一索引。

3、为什么要及时删除不用的触发器?

  答:触发器定义之后,每次执行触发事件,都会激活触发器并执行触发器中的语句。如果需求发生变化,而触发器没有进行相应的改变或者删除,则触发器仍然会执行旧的语句,从而会影响新的数据的完整性。因此要将不再使用的触发器及时删除。

4、自定义函数支持输出参数吗?

  答:自定义函数可以接受零个或多个输入参数,其返回值可以是一个数值,也可以是一个表,但是自定义函数不支持输出参数。

5、STR 函数在遇到小数时如何处理?

  答:在使用STR函数时,如果数字为小数,则在转换为字符串数据类型时,只返回其整数部分,如果小数点后的数字大于等于5,则四舍五入返回其整数部分。

6、是不是索引建立得越多越好?

  答:合理的索引可以提高查询的速度,但不是索引越多越好。在执行插入语句的时候,数据库要为新 插入的记录建立索引。所以过多的索引会导致插入操作变慢。原则上是只有查询用的字段才建立索引。

7、视图的作用是什么?

答:数据库视图的作用主要有:

  1.  数据库视图隐藏了数据的复杂性。

  2.  数据库视图有利于控制用户对表中某些列的访问。

  3.  数据库视图使用户查询变得简单。视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说&#

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值