千万级表数据优化

dfgoow 2013-01-01 12:30:20
最近由于项目中某些表 中的数据增速比较快,已经达到千万级,查询效率很慢,webservice经常超时,有没有什么比较好的优化查询方法?
...全文
475 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
波西米亚人生 2013-01-01
  • 打赏
  • 举报
回复
http://blog.csdn.net/bohemianlife/article/details/8456522 可以参考看看,表区分技术
dfgoow 2013-01-01
  • 打赏
  • 举报
回复
引用 3 楼 liugegexj 的回复:
重建索引下,估计效率会提高很多。如下: 1.重建数据库索引 SqlServer2005 重建索引 随着数据的数据量的急剧增加,数据库的性能也会明显的有些缓慢 这个时候你可以考虑下重建索引或是重新组织索引了。 通过 Sql代码 1.DBCC SHOWCONTIG('表名') DBCC SHOWCONTIG('表名') 可以查看当前表的索引碎片……
重建索引是有点提高,但是相比之下分区效率还是比较明显一些,不过还是谢谢了
dfgoow 2013-01-01
  • 打赏
  • 举报
回复
引用
http://blog.csdn.net/bohemianlife/article/details/8456522 可以参考看看,表区分技术
谢谢,分区后效率查询果然提高了几倍
哥哥大 2013-01-01
  • 打赏
  • 举报
回复
重建索引下,估计效率会提高很多。如下: 1.重建数据库索引 SqlServer2005 重建索引 随着数据的数据量的急剧增加,数据库的性能也会明显的有些缓慢 这个时候你可以考虑下重建索引或是重新组织索引了。 通过 Sql代码 1.DBCC SHOWCONTIG('表名') DBCC SHOWCONTIG('表名') 可以查看当前表的索引碎片情况,出来的结果大概如下: DBCC SHOWCONTIG 正在扫描 'tblWFProcessRelatedDataInstanceHistory' 表... 表: 'tblWFProcessRelatedDataInstanceHistory' (933630419);索引 ID: 1,数据库 ID: 8 已执行 TABLE 级别的扫描。 - 扫描页数................................: 727 - 扫描区数..............................: 96 - 区切换次数..............................: 95 - 每个区的平均页数........................: 7.6 - 扫描密度 [最佳计数:实际计数].......: 94.79% [91:96] - 逻辑扫描碎片 ..................: 3.16% - 区扫描碎片 ..................: 76.04% - 每页的平均可用字节数........................: 143.6 - 平均页密度(满).....................: 98.23% DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 其中有些很重要的指标,如扫描密度、扫描碎片等。 最佳计数与实际计数相当时说明索引是比较好的,如相差太多,就必须可以重新建或组织索引。 重建索引命令: 指定表名 Sql代码 1.DBCC DBREINDEX (表名, '', 70) DBCC DBREINDEX (表名, '', 70) 对全库 Sql代码 1.exec sp_msforeachtable 'DBCC DBREINDEX(''?'')'

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧