对一个投入使用的在线事务处理表格有过多索引需要有什么样的性能考虑?
您正在寻找进行与数据操控有关的应聘人员。对一个表格的索引越多,数据库引擎用来更新、插入或者删除数据所需要的时间就越多,因为在数据操控发生的时候索引也必须要维护。
您可以用什么来确保表格里的字段只接受特定范围里的值?
这个问题可以用多种方式往返答,但是只有一个答案是“好”答案。您希望听到的回答是Check限制,它在数据库表格里被定义,用来限制输入该列的值。
触发器也可以被用来限制数据库表格里的字段能够接受的值,但是这种办法要求触发器在表格里被定义,这可能会在某些情况下影响到性能。因此,微软建议使用Check限制而不是其他的方式来限制域的完整性。
返回参数和OUTPUT参数之间的区别是什么?
假如应聘者能够正确地回答这个问题,那么他的机会就非常大了,因为这表明他们具有使用存储过程的经验。
返回参数总是由存储过程返回,它用来表示存储过程是成功还是失败。返回参数总是INT数据类型。
OUTPUT参数明确要求由开发人员来指定,它可以返回其他类型的数据,例如字符型和数值型的值。(可以用作输出参数的数据类型是有一些限制的。)您可以在一个存储过程里使用多个OUTPUT参数,而您只能够使用一个返回参数。
什么是相关子查询?如何使用这些查询?
经验更加丰富的开发人员将能够准确地描述这种类型的查询。
相关子查询是一种包含子查询的非凡类型的查询。查询里包含的子查询会真正请求外部查询的值,从而形成一个类似于循环的状况。您可以在这篇文章里看到关于这些非凡类型的查询事如何工作的更加具体的描述。
关于面试过程的思考
这些问题只不过是确定一个SQL Server数据库开发人员是否合格的起点。根据应聘者对上面这些问题的回答情况,我可能会要求他们参加我的TSQL编程考试,这一般是一套根据不同情况进行的10到12个数据库查询。
您需要自己决定将要雇用的开发人员具有什么样的专业技能。然后,需要通过自己的经验、判定以及在面试时对应聘者的感受(来做最终决定)。
您在面试数据库开发人员时一般会问哪些问题呢?让我们一起来讨论一下吧。
Tim Chapman是肯塔基州路易维尔市一家银行的SQL Server数据库治理员,他有超过7年的行业经验。他还通过了微软SQL Server 2000和SQL Server 2005的认证。
评论加载中…
![]() |