【发布时间】:2010-09-15 00:39:11
【问题描述】:
我在一个网络项目 (asp.net) 中工作了大约六个月。最终产品即将上线。该项目使用 SQL Server 作为数据库。我们已经对一些大量数据进行了性能测试,结果表明当数据变得太大时性能会下降,比如 200 万行(超时问题、延迟响应等)。起初我们使用完全规范化的数据库,但现在由于性能问题(以减少连接),我们对其进行了部分规范化。首先,这是正确的决定吗? 再加上当数据量变得非常大时,可能的解决方案是什么?未来客户增加?
我想补充一点:
- 200 万行是实体表,解析关系的表具有更大的行数。
- 数据 + 否时性能会下降。的用户增加。
- 在识别出大量使用的查询后进行了反规范化。
- 我们还使用了大量的 xml 列和 xquery。这可能是原因吗?
- 有点跑题了,我项目中的一些人说动态 sql 查询比存储过程方法快。他们已经进行了某种性能测试来证明他们的观点。我认为恰恰相反。一些频繁使用的查询是动态创建的,而其他大多数查询都封装在存储过程中。
【问题讨论】:
-
@Mitch,也许他们都不适合他 :)
-
@Joe Phillips:那么也许他们问错了问题......
标签: sql-server database performance database-design query-optimization