SQL Server:基本设计问题?

Mat*_*dle 5 sql-server

我工作的公司的主管在聚会上遇到了另一家软件公司的董事(这不是开玩笑!).

第二位导演告诉我的导演,

"他花了一大笔钱放弃了SQL Server",因为"如果有几个人以不同的方式查询同一个表,那么数据库就会被锁定".此外,这是SQL Server的一个"已知基本设计问题,其中每个查询争用最大资源,直到SQL Server在对同一个表进行大约7次并发查询后锁定".

现在我对SQL Server锁定和IO有所了解,这对我来说是个新闻.AFAIK SQL Server架构中没有任何内在因素导致此类问题.SQL Server在TPC基准测试中表现良好,尤其是价格/性能.

感到尴尬,但我必须确定 - 他说的话有什么真相吗?

编辑 - 在阅读了一些评论之后,我认为我明确表示我同意它可以在Sql Server中编写性能不佳的sql,就像在任何数据库平台上一样.询问是否有任何固有的体系结构在某些高并发条件下阻止它,而不管你的db/sql的制作程度如何?

Mic*_*eyn 6

是绝对没有道理的,和其他导演显然在他的IT部门在以下两种情况下,它可以被发现在一个非常许多企业:

  1. 没有DBA,或(白痴)导演是DBA,或没有DBA资格的人被迫担任DBA
  2. 一个不称职的DBA或不称职的IT员工,他们创建了数据库模式,并在给定这些模式的情况下以无能的方式查询数据库.另外,请参阅下面的TomTom对此答案的评论,该评论进一步扩展和阐述了该项目.

此外,在得出任何无法做某事的结论之前,请先了解SQL Server的市场主导地位.

这并不是说SQL Server是完美的并且没有"基本设计问题",例如在使用标识列时可能遇到的这个令人难以置信的错误,实际上每个人都为代理键做了这些:

SCOPE_IDENTITY()有时返回不正确的值

  • 将开发人员添加到不了解锁定的DBA,您将进入一个非常正常的情况.大多数开发人员都不知道数据库的工作原理和"只是以某种方式让他们的代码工作".甚至SQL也不包括它们(即COMPELX sql,而不是simpel select).这是恕我直言最有可能出现的情况.一些白痴开发者抱怨和一些白痴技术人员购买,一些白痴CTO做出决定. (4认同)