我在SYBASE中有一个表,它有大约1十亿行。此表目前没有创建任何索引,我现在想创建一个。我的问题是
干杯
兰芝斯
答案 0 :(得分:1)
来自manual。
何时索引
使用以下一般准则:
如果您计划在IDENTITY列中手动插入,请创建 一个唯一索引,用于确保插入不分配值 已被使用。
通常按排序顺序访问的列,即在order by子句中指定的列,可能应该编入索引,以便 Adaptive Server可以利用索引顺序。
应始终对连接中经常使用的列建立索引,因为如果列,系统可以更快地执行连接 按排序顺序排列。
存储表的主键的列通常具有聚簇索引,特别是如果它经常连接到列中的列 其他表格。请记住,每个只能有一个聚簇索引 表。
经常搜索值范围的列可能是聚簇索引的不错选择。一旦具有第一个值的行 在找到的范围内,保证具有后续值的行 身体相邻。聚集索引不提供尽可能多的 搜索单个值的优势。
何时不进行索引
在某些情况下,索引无效:
查询中很少或从不引用的列不会受益 来自索引,因为系统很少需要在上搜索行 这些列中的值的基础。
只有两个或三个值的列,例如“男性”和“女性”或“是”和“否”,没有真正的优势来自 索引。
尝试
sp_spaceused tablename, 1
Here是文档的链接。
是 - Updating statistics about indexes
。
Here是文档的链接。