sql-server - SQL Server : fundamental design issue?

标签 sql-server

我工作的公司的主管在一次聚会上认识了另一位软件公司的主管(这不是玩笑!)。

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

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

现在我对 SQL Server 锁定和 IO 了解了一些,这对我来说是新闻。 AFAIK SQL Server 架构中没有任何固有的东西会导致此类问题。 SQL Server 在 TPC 基准测试中表现良好,尤其是在性价比方面。

问这个问题感觉很尴尬,但我必须确定 - 他说的话是否有道理?

编辑 - 在阅读了一些评论后,我想我会明确表示我同意在 Sql Server 中编写性能不佳的 sql 是可能的,就像在任何数据库平台上一样。有点像询问架构中是否有任何固有的东西会在某些高并发条件下阻止它,无论您的 db/sql 制作得有多好?

最佳答案

这绝对不是事实,另一位主管在他的 IT 部门显然有以下两种情况之一,这种情况在非常很多公司都可以找到:

  1. 没有 DBA,或者(白痴)董事是 DBA,或者没有任何 DBA 资格的人被迫担任 DBA
  2. 不称职的 DBA 或不称职的 IT 员工创建了数据库架构,并根据这些架构以不称职的方式查询数据库。另外,请参阅下面 TomTom 对此答案的评论,该评论进一步扩展和阐述了此项目。

此外,在得出 SQL Server 无能为力的结论之前,请务必先了解一下 SQL Server 目前的市场主导地位。

这并不是说 SQL Server 是完美的并且没有“基本设计问题”,例如在使用标识列时可能会遇到的令人难以置信的错误,而几乎每个人都对代理键这样做:

SCOPE_IDENTITY() sometimes returns incorrect value

关于sql-server - SQL Server : fundamental design issue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7968610/

相关文章:

sql - 内联标量函数 : real or vaporware?

sql-server - 如何跟踪数据库DDL语句的变化?

sql - 小数的SSIS数据转换问题

sql-server - 如何在SQL Server 中自动将YES/NO 转换为BIT?

.net - 为什么当参数作为参数传递时 sp_executesql 运行速度变慢

sql-server - SQL Server 2016 RTM 下载

sql - 如何从总值为0的列的表中获取记录的不同计数

sql-server - Linq 转 Sql : SQL Default Value overridden

sql - 使用单个 JOIN Select 语句替代/替代 UNION

sql-server - SQL;按合并列搜索