Ume*_*zaz 13 database sql-server performance database-design query-optimization
我已经在一个网络项目(asp.net)工作了大约六个月.最终产品即将投入使用.该项目使用SQL Server作为数据库.我们已经做了性能测试与一些大容量的数据,结果表明,当数据过大,性能会下降,如2万行(超时问题,延迟反应变量等).起初我们使用完全normailized数据库,但现在我们把它归部分由于性能问题(以减少联接).首先,这是正确的决定吗?另外,当数据量变得非常大时,可能的解决方案是什么?客户未来会增加多少?
我想进一步补充:
Mit*_*eat 30
在方案中,几百万行不是特别大的数据库.
假设我们正在谈论OLTP数据库,在没有首先确定瓶颈的根本原因的情况下进行非规范化是一个非常非常糟糕的主意.
您需要做的第一件事是在有代表性的时间段内分析您的查询工作负载,以确定大部分工作的完成位置(例如,如果您使用的是SQL Server,则使用SQL事件探查器).查看查询执行的逻辑读取次数乘以执行次数.一旦确定了十大性能最差的查询,就需要详细检查查询执行计划.
我会在这里出去(因为通常是这样),但如果你的问题不是,我会感到惊讶
此SO答案描述了如何配置以查找工作负载中性能最差的查询.
Phi*_*ier 13
正如那句老话"正常化直到它受伤,反正常直到它起作用".
我喜欢这个!这通常是不能再被接受的事情.我可以想象,回到DBASEIII有时候,你不能一次打开超过4个表(除非改变你的一些AUTOEXEC.BAT参数并重新启动你的计算机,啊!),对非规范化有一些兴趣.
但是现在我看到这个解决方案类似于一个等待海啸给他的草坪浇水的园丁.请使用可用的喷壶(SQL分析器).
并且不要忘记,每当您对数据库的一部分进行非规范化处理时,随着代码中的错误风险的增加,您进一步调整数据库的能力会降低,从而使整个系统的可持续性越来越低.
| 归档时间: |
|
| 查看次数: |
8614 次 |
| 最近记录: |