sql-server – 处理大数据库
我一直在一个网站项目(asp.net)工作了大约六个月.最终产品即将上市.该项目使用SQL Server作为数据库.我们已经对一些大量的数据进行了性能测试,结果表明,当数据变得太大时,性能会下降,比如200万行(超时问题,延迟响应等).起初我们正在使用完全规范化的数据库,但是由于性能问题(减少连接),现在我们将其部分归一化.首先,是正确的决定吗?
加上当数据大小变得非常大时,可能的解决方案是什么?客户未来会增加? 我想补充一点: > 200万行是实体表,解析关系的表有更大的行. 解决方法在事情计划中,几百万行不是一个特别大的数据库.假设我们正在谈论一个OLTP数据库,那么在不首先确定瓶颈的根本原因的情况下进行非正规化就是一个非常非常糟糕的主意. 您需要做的第一件事是在代表性的时间段内对查询工作负载进行配置,以确定大部分工作正在完成的位置(例如,使用SQL Profiler,如果使用SQL Server).查看查询执行的逻辑读取次数乘以执行次数.一旦确定了十大表现最差的查询,您需要详细检查查询执行计划. 我会在这里出门(因为通常是这样),但是如果你的问题不是 没有一个代价高昂的查询的“正确”覆盖索引 此SO answer描述了如何配置文件以查找工作负载中性能最差的查询. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |