陋室铭
永远也不要停下学习的脚步(大道至简至易)

posts - 2169,comments - 570,views - 413万

现在一直在做的项目,数据量相对也不小,开始的时候没有觉得,因为是刚开始,数据量还很小,在程序使用过程中速度还挺快,但是随着数据量的不停的增长,发现程序越来越慢,甚至出现了超时的问题,因此要对程序和数据库进行优化,前期项目比较紧,没有针对大数据量业务进行分析设计,所以索引等相关优化没有做到位,通过后期的大数据量导致的错误使用了下面的方法。

这里简单的讲一下:如何使用数据库引擎优化顾问优化数据库

简单的优化一下数据库。

一、启动 microsoft sql server management studio(就是sql的管理工具)

二、工具->sql server profiler

三、sql server profiler->文件->新建跟踪 ->运行

  时间长一点,点停止 然后保存这个跟踪

   sql server profiler->文件->保存->取个名字。

  详细查看:

  如何创建跟踪 (SQL Server Profiler)

  http://technet.microsoft.com/zh-cn/library/ms175047.aspx

四、sql server profiler->工具-数据库引擎优化顾问

  工作负荷 选择刚才保存的文件。

  在选择要优化的数据库和表 里面选择一个(不要全选,会卡死的)

  选项都是中文的,自己配置一下。

  最后点下开始分析。

  完成后会有建议

  查询其实已经很快了,但是这个功能模块使用频率很高,跟据它的建议优化一下。确实提高了不少。

   一个是统计,一个是索引

  以下是网上查过来的:

   1.STATISTICS是一个表中某几个列的统计信息,如一个表是全校学生某次考试的分数,score列的类型是int,取值范围是0到100的整数, 那么statistc就是每个分数分别有多少人。在一个特定的查询中,使用索引可能加快  速度,也可能减慢速度,所以SQL server要事先对使用索引的效果做一个预测,预测的依据就是STATISTICS。
  2.默认情况下,表或索引更改了,统计会相应地自动更新, 以保持统计是最新的。但是可以在数据库选项中关闭这个自动更新的功能,提高数据表的更新速度。但需要定期手动更新统计。因为过期的统计信息会对是否使用索 引的判断带来误判。没发现SQL2000和SQL2005的统计有什么区别。
  3.index要依赖正确的STATISTICS才能发挥作用。而你的SQL2005优化工具对缺乏STATISTIC的列自动产生了创建语句。

  索引有很多好处和坏外,以下是索引的一点点资料,

  http://www.cnblogs.com/Mattcoder/archive/2007/02/08/644824.html

五、查看报告

有很多报告可以查看。

这里可以看到表的访问频率,前面的建议优化是非常正确的。

 

这里有索引的报告。当索引特别大时,根据自己的实际情况进行优化

posted on   宏宇  阅读(504)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2011-11-23 弹出跳转一个新页的方式(小技巧)
2011-11-23 脚本语言(确认补遗)
2011-11-23 用masterpage后页面定位
2011-11-23 多线程杂谈
2010-11-23 添加开机启动项
2010-11-23 System.Diagnostics.Process.Start()
2009-11-23 在客户端触发服务器onclick(小技巧)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示