2023年软件测试数据库面试题
软件测试数据库面试题(一)
1. 在一个查询中,运用哪一个关键字能够除去重复列值?
答案:运用distinct关键字
2. 什么是快照?它的作用是什么?
答案:快照Snapshot是一个文件系统在特定时间里的镜像,对于在线实时数据备份特别有用。快照对于拥有不能停止的应用或具有常打开文件的文件系统的备份特别重要。对于只能供应一个特别短的备份时间而言,快照能保证系统的完整性。
3. 说明存储过程和触发器
答案:
存储过程是一组Transact-SQL语句,在一次编译后可以执行多次。因为不必重新编译Transact-SQL语句,所以执行存储过程可以提高性能。sql查询面试题及答案
触发器是一种特别类型的存储过程,不由用户干脆调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执行。
4. SQL Server是否支持行级锁,有什么好处?
答案:支持动态行级锁定
SQL Server 2000动态地将查询所引用的每一个表的锁定粒度调整到合适的级别。当查询所引用的少数几行分散在一个大型表中时,优化数据并行访问的最佳方法是运用粒度锁,如行锁。但是,假如查询引用的是一个表中的大多数行或全部行,优化数据并行访问的最佳方法可以是锁定整个表,以尽量削减锁定开销并尽快完成查询。
SQL Serve 2000通过为每个查询中的每个表选择适当的锁定级别,在总体上优化了数据并发访问。对于一个查询,假如只引用一个大型表中的几行,则数据库引擎可以运用行级锁定;假如引用一个大型表的几页中的多行,则运用页级锁定;假如引用一个小型表中的全部行,则运用表级锁定。
5. 数据库日志干什么用,数据库日志满的时候再查询数据库时会出现什么状况。
答案:每个数据库都有事务日志,用以记录全部事务和每个事务对数据库所做的修改。
6. 存储过程和函数的区分?
答案:存储过程是用户定义的一系列SQL语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表
软件测试数据库面试题(二)
1. 事务是什么?
答案:事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必需有四个属性,称为 ACID(原子性、一样性、隔离性和长久性)属性,只有这样才能成为一个事务:
(1) 原子性
事务必需是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
(2) 一样性
事务在完成时,必需使全部的数据都保持一样状态。在相关数据库中,全部规则都必需应用于事务的修改,以保持全部数据的完整性。事务结束时,全部的内部数据结构(如 B 树索引或双向链表)都必需是正确的。
(3) 隔离性
由并发事务所作的修改必需与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。
(4) 长久性
事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将始终保持。
2. 游标的.作用?如何知道游标已经到了最终?
答案:游标用于定位结果集的行,通过推断全局变量@@FETCH_STATUS可以推断是否到了最终,通常此变量不等于0表示出错或到了最终。
3. 触发器分为事前触发和事后触发,这两种触发有何区分?语句级触发和行级触发有何区分?
答案:
事前触发器运行于触发事务发生之前,而事后触发器运行于触发事务发生之后。通常事前触发器可以获得事务之前和新的字段值。
语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。
4. 解决死锁的方法有哪些?
答案:
解决手段一:SQL Server自动检测和消退死锁
解决手段二:设置死锁优先级
解决手段三:设置锁定超时
解决手段四:运用更新锁避开死锁
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论