我在SYBASE中有一个表,它有大约100万行。此表当前没有创建任何索引,我想现在创建一个索引。我的问题是
- 在创建索引之前应该采取哪些预防措施
- 这个过程是否需要分配更多的表空间
- 我还需要考虑其他性能方面的问题吗
干杯
Ranjith
-
来自手册。
何时索引
使用以下通用指南:
-
如果计划手动插入IDENTITY列,请创建一个唯一的索引,以确保插入不会分配一个值已被使用。
-
经常按排序顺序访问的列,即在order by子句中指定的列,可能应该进行索引,以便Adaptive Server可以利用索引顺序。
-
联接中经常使用的列应该始终进行索引,因为如果列按排序。
-
存储表主键的列通常具有聚集索引,尤其是当它经常联接到中的列时其他表格。请记住,每个只能有一个聚集索引桌子
-
对于聚集索引来说,经常搜索值范围的列可能是一个不错的选择。一旦具有第一个值的行在找到的范围中,具有后续值的行保证物理上相邻。聚集索引提供的搜索单个值的优势。
何时不索引
在某些情况下,索引没有用处:
-
查询中很少或从未引用的列不会受益从索引,因为系统很少需要在这些列中值的基础。
-
只有两个或三个值的列,例如"male"one_answers"female"或"yes"one_answers"no",不会从中获得真正的优势索引。
-
-
尝试
sp_spaceused tablename, 1
这是文档链接。
-
是-
Updating statistics about indexes
。这是文档链接。