初学者的学习-10->clustered index and bitmap index

black_snail 2003-03-03 10:11:54
clustered index 好象是指,数据存放到index的leaf上.不知道大家有没有关于
clustered index的一些体会,比如什么时候建立clustered index 比较好,那些system table可以用来query clustered index的状态等等.

oracle中有bitmap index的用法.它是为符合下列条件的表设计的
1. 不经常更新
2. index column 的distinct 值很少.比较典型的是性别column , 只有两种值.

不只知道SQLSERVER中有没有相对应的index 种类.

...全文
35 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
enhydraboy 2003-03-03
  • 打赏
  • 举报
回复
我在BOL上又看到,
在创建非聚集索引之前,应先了解您的数据是如何被访问的。可考虑将非聚集索引用于:
包含大量非重复值的列,如姓氏和名字的组合(如果聚集索引用于其它列)。如果只有很少的非重复值,如只有 1 和 0,则大多数查询将不使用索引,因为此时表扫描通常更有效。

照这样的说法,像性别这样的字段,就不要单独建索引了,否则,只会更慢。
black_snail 2003-03-03
  • 打赏
  • 举报
回复
有道理,节省Update时间(因为只有一个物理的OBJECT需要被updated)
enhydraboy 2003-03-03
  • 打赏
  • 举报
回复
聚集索引中,表中各行的物理顺序与索引键值的逻辑(索引)顺序相同。表只能包含一个聚集索引。聚集索引通常可加快 UPDATE 和 DELETE 操作的速度,因为这两个操作需要读取大量的数据。创建或修改聚集索引可能要花很长时间,因为执行这两个操作时要在磁盘上对表的行进行重组。是在BOL上看到的
可考虑将聚集索引用于:
1 包含数量有限的唯一值的列,如 state 列只包含 50 个唯一的州代码。
2 使用下列运算符返回一个范围值的查询:BETWEEN、>、>=、< 和 <=。
3 返回大结果集的查询。
DJMPH 2003-03-03
  • 打赏
  • 举报
回复
oracle有位图索引,函数索引等
sql server就只有一般索引和全文索引。

sql没有性别类型字段,呵呵。
clustered index是说索引按排序规则按簇排列,当然这个是需要维护以后的事。这样查询效率要高。

我的感觉是oracle的函数执行效率要第于sql,这个是我个人使用的感觉。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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