为什么索引会失效?

hushuowang 2004-08-25 04:41:31
最近碰到一个很奇怪的问题。我在一个字段上建立了索引搜索的时候速度很快但是不知道为什么运行一段时间后有<12个月后速度就变得很慢很慢一直把数据库超时。把该索引删除掉重新建立索引速度快起来了!真的搞不清楚这是怎么回事!是不是索引也会失效还是什么原因?求救高手了!
...全文
497 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
netcoder 2004-08-25
  • 打赏
  • 举报
回复
随着应用系统的运行,数据不断地发生变化,当数据变化达到某一个程度时将会影响到索引的使用。,这时需要用户自己来维护索引。一种方法是删除老的索引,重新建新的索引。另外一种方法是保持索引统计有效(使用命令update statistics),在以下情况下需要重新索引。

使用数据模式发生了较大变化。

某段时间内有极大量的数据插入。

SQL Server排序改变。

dbcc发现索引错误。

zjcxc 元老 2004-08-25
  • 打赏
  • 举报
回复
应该是索引碎片引起了(和磁盘碎片差不多),可以用下面的语句整理:

DBCC INDEXDEFRAG (库名, 表名, 索引名)
hisi 2004-08-25
  • 打赏
  • 举报
回复
这是正常现像

34,590

社区成员

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

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