【索引】这样的数据表怎么建立索引

wang520d 2008-06-03 10:31:07
网上查了资料建立索引的原则:
下面的表总结了何时使用聚集索引或非聚集索引(很重要)。

  动作描述
   使用聚集索引
   使用非聚集索引

  列经常被分组排序
   应
   应

  返回某范围内的数据
   应
   不应

  一个或极少不同值
   不应
   不应

  小数目的不同值
   应
   不应

  大数目的不同值
   不应
   应

  频繁更新的列
   不应
   应

  外键列
   应
   应

  主键列
   应
   应

  频繁修改索引列
   不应
   应

可是我的表的数据比如“产品名称”和“记录时间”:既是“大数目的不同值”又是“返回某范围内的数据”
我该建立什么索引好呢?
...全文
90 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang520d 2008-06-04
  • 打赏
  • 举报
回复
那这样的话 是不是可以建立聚合索引 ???
jobine 2008-06-03
  • 打赏
  • 举报
回复
这样设计有它的优点,要看实际情况。
wang520d 2008-06-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 anchor49 的回复:]
引用 2 楼 jobine 的回复:
都建立非聚集索引,聚集索引要留给主键。如果这两个字段中有主键,则另外一个要建立非聚集索引。
[/Quote]

我现在的主键是自增列 是不是有点浪费啊。。。
wang520d 2008-06-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Haiwer 的回复:]
索引是否建立和如何建立首先应该考虑使用情况,后考虑数据情况

如果你的“产品名称”和“记录时间”是 “大数目的不同值”又是“返回某范围内的数据”
建议建立非聚集索引

要知道一个表只有一个聚集索引,所以聚集索引必须考虑整个表的使用情况
[/Quote]

使用情况: 经常会根据时间区间去查询。。
anchor49 2008-06-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jobine 的回复:]
都建立非聚集索引,聚集索引要留给主键。如果这两个字段中有主键,则另外一个要建立非聚集索引。
[/Quote]
jobine 2008-06-03
  • 打赏
  • 举报
回复
都建立非聚集索引,聚集索引要留给主键。如果这两个字段中有主键,则另外一个要建立非聚集索引。
昵称被占用了 2008-06-03
  • 打赏
  • 举报
回复
索引是否建立和如何建立首先应该考虑使用情况,后考虑数据情况

如果你的“产品名称”和“记录时间”是 “大数目的不同值”又是“返回某范围内的数据”
建议建立非聚集索引

要知道一个表只有一个聚集索引,所以聚集索引必须考虑整个表的使用情况

34,838

社区成员

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

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