人的力量极限怎么开发 ASP.NET开发中索引的力量
ASP.NET开发中索引的力量
一直对数据库的优化一窍不通 大家谈论最多应该是怎样从 SQL 查询语句和索引下手去优化 对于索引 很多高手都写过很多文章 看来看去也没悟出什么东西 不过 今天我修改了数据表的几个主键(可以认为就是聚焦索引)并且添加了一些非聚焦索引 SQLServer 的性能立刻提高了上去
对于 Users 表 原先是把主键设置为 UserID(自增字段)字段上 通过事件跟踪器 发现对于 Users 表的查询比较耗费资源(可以从 CPU Reads Duration这三相值来判断) 而且所有的查询基本上都是对 Users 表的 name 来查询的 即 SELECT * FROM users WHERE name = xxx 既然WHERE后边跟的是 name 就应该把聚焦索引设置到 name 字段上 并且 name 字段是不重复的 所以可以这样修改 修改前的耗费忘了记录了 修改之后的耗费大大降低了 CPU Reads Duration分别为 如果WHERE后面跟的字段是可重复的 就不能作为聚焦索引 这时可以为该字段添加非聚焦索引
按照这个思路来优化其他表
select count(*) from mark where name = xxx
优化前
CPU / Reads / Duration(下同)
/ /
/ /
/ /
优化后 对mark表加入name以及infoid的非聚焦索引
/ /
/ /
/ /
/ /
/ /
/ /

select * from ment where infoid =
优化前
/ /
/ /
优化后 ment表给infoid加非聚焦索引
/ /
/ /
/ /
/ /
对所有表都经过类似的优化后 性能立刻提升了上去 CPU 从原先的 % 左右降低到 % 左右 由此可见 对于表的设计应该非常重视主键的选择 不要为每个表都来一个 int 类型的自增字段作为主键 另外就是跟踪数据库查询 根据具体的查询来建立非聚焦索引
不清楚 ASP NET 到底能承受多大的页面浏览量 虽然这个问题问的太宽泛 但总体印象上 对 ASP NET 的性能有所怀疑 大型 Web 好像也没有几个用 ASP NET 做的 dangdang 网是的 圣诞节的时候去访问 老是出现页面打不开的故障 DoNews 也是 不过 也是经常出现那非常熟悉的错误页面 至于 MySpace 没有太多关注
看到关于豆瓣的一组数据 很是羨慕 一台Web服务器运行 Ligd 每天处理 万个request 峰值每秒处理 个request 一台应用服务器运行Python 每天处理 万PV 数据库服务器运行MySQL 负载情况没有介绍
lishixinzhi/Article/program/net/201311/12883相关文章
- aspnet网站开发教程 ASP.NET事务处理和异常处理
- 系统分析师和系统架构师难度 ASP.NET开发宝典:Web系统的三层架构(1)
- aspnet网站开发教程 ASP.NET中DataTable与DataSet之间的转换
- java自学宝典怎么样 ASP.NET开发宝典:运行ASP.NET网站
- 完善运行机制 ASP.NET开发宝典:.NET Web运行机制
- 大数据技术与应用 ASP.NET项目开发指南:数据层类(2)[2]
- 国家指南 ASP.NET项目开发指南:用户信息的处理(2)
- aspnet项目开发教程 使用ASP.NET中的用户控件[1]
- 专业术语 ASP.NET开发宝典:术语和小结
- aspnet项目开发教程 ASP.NET开发宝典:菜单栏
爱学记

微信收款码
支付宝收款码