SQL& Postgres采访概念

时间:2011-02-10 00:10:48

标签: sql sql-server database postgresql

简介

所以,明天我接受采访,我正在尝试审查SQL和数据库。职位发布说他们希望有人:

  
      
  • 数据库设计和开发经验      
        
    • 熟悉SQL
    •   
    • 使用SQL Server和/或Postgres的经验
    •   
  •   

我已阅读Questions every good database SQL developer should be able to answer,以及一系列用SQL和面试问题标记的问题。所以我意识到我需要了解SELECTJOINWHERE

问题:

  • 为了在面试中取得好成绩,我需要了解哪些基本的SQL,Postgres和数据库概念?

  • 关于交易和规范化,我需要了解什么?

  • 优化慢查询的一般方法有哪些?

  • 我应该了解功能,关键字还是两者兼有?

2 个答案:

答案 0 :(得分:2)

这取决于角色的数量基于数据库开发和设计。对于SQL语法,您还应该了解联接类型之间的差异,并且能够使用GROUP BYORDER BYHAVING以及可以在与他们合作。

在性能监控方面,我会看一下execeution计划(不确定Postgres等价物)以及它们如何提供提高性能的技巧,以及使用SQL Profiler查看服务器在实际执行的指令时间。

事务可以用于回滚,以及需要以特定方式完成查询以保持数据一致性的事务(存储过程,即席查询等)。有些人(包括我自己)有一种做法,即将任何对数据进行任何更改的语句放入一个事务中,该事务会自动回滚(BEGIN TRAN ... ROLLBACK TRAN)以检查在将更改推送到实时服务器之前是否操作了正确的数据量。看看ACID模型 - 原子性,一致性,隔离性,耐用性。

规范化可能需要一些时间才能完成,但只需知道并部分理解第三种形式的规范化,这将使你开始。

优化可能是一个很大的话题。只记得尝试使用基于集合的查询来执行UPDATE之类的操作,而不是基于行(在WHILE循环中更新是基于行的更新的示例,但它可以使用它)。

我希望这会有所帮助。

答案 1 :(得分:1)

除了您列出的sql语法基础之外,您应该了解一些有关查询性能的知识。慢查询的常见原因是什么?有哪些补救措施,以及如何评估查询的性能。