简介:
所以,我明天有个面试,我试着复习SQL和数据库。招聘公告上说,他们想要的人:
有数据库设计和开发经验( Postgres )和数据库开发经验(
我读过Questions every good database SQL developer should be able to answer,还有一堆带有SQL和面试问题标签的问题。所以我意识到我需要了解SELECT,JOIN和WHERE。
问题:
要想在面试中取得好成绩,我需要了解哪些是基本的SQL、Postgres和数据库概念? normalization?
发布于 2011-02-10 01:18:38
这取决于角色在多大程度上是基于数据库开发和设计的。对于SQL语法,您还应该了解联接类型之间的区别,并且能够使用GROUP BY、ORDER BY、HAVING以及可以与它们结合使用的聚合函数。
在性能监视方面,我将查看execeution计划(不确定Postgres等效项),以及它们如何提供提高性能的提示,以及使用server查看服务器实时执行哪些指令。
事务对于回滚事务(存储过程、临时查询等)非常有用。这需要以某种方式完成查询,以保持数据的一致性。有些人(包括我自己)有一种做法,即将对数据进行任何更改的任何语句放入自动回滚(BEGIN TRAN ... ROLLBACK TRAN)事务中,以检查在将更改推送到活动服务器之前是否操作了正确的数据量。看看酸模型-原子性,一致性,隔离性,耐用性。
规范化可能需要一些时间来完成,但只需要知道并部分理解到第三种形式的规范化,这将使您开始工作。
优化可能是一个很大的话题。只需记住尝试使用基于集合的查询进行更新,而不是基于行的更新( like循环中的更新是基于行的更新的一个例子,但它可以有其用途)。
我希望这能帮点忙。
发布于 2011-02-10 00:14:32
除了您列出的sql语法的基本知识之外,您还应该了解一些有关查询性能的知识。什么是导致缓慢查询的常见原因,以及对这些原因的补救措施,以及如何评估查询的性能。
https://stackoverflow.com/questions/4952026
复制相似问题