【问题标题】:Sybase - Performance considerations while indexing existing tableSybase - 索引现有表时的性能注意事项
【发布时间】:2012-09-10 06:55:48
【问题描述】:

我在 SYBASE 中有一个大约 1mio 行的表。此表当前没有创建任何索引,我现在想创建一个。我的问题是

  1. 在创建索引之前我应该​​采取哪些预防措施?
  2. 此过程是否需要分配更多表空间?
  3. 我还应该注意哪些其他性能注意事项?

干杯

兰吉斯

【问题讨论】:

    标签: performance indexing sybase


    【解决方案1】:
    1. 来自manual

      何时索引

      使用以下一般准则:

      • 如果您打算手动插入 IDENTITY 列,请创建 一个唯一索引,以确保插入不会分配一个值 已经用过了。

      • 经常按排序顺序访问的列,即在 order by 子句中指定的列,可能应该被索引,以便 Adaptive Server 可以利用索引顺序。

      • 经常在连接中使用的列应该总是被索引,因为如果这些列系统可以更快地执行连接 是按顺序排列的。

      • 存储表的主键的列往往有聚集索引,特别是如果它经常连接到 其他表。请记住,每个只能有一个聚集索引 桌子。

      • 经常搜索值范围的列可能是聚集索引的不错选择。一旦具有第一个值的行 在找到范围内,保证具有后续值的行 物理上相邻。聚集索引不能提供尽可能多的 搜索单个值的优势。

      什么时候不索引

      在某些情况下,索引没有用:

      • 查询中很少或从未引用的列不会受益 来自索引,因为系统很少需要在 这些列中的值的基础。

      • 只能有两个或三个值的列,例如“男性”和“女性”或“是”和“否”,从 索引。

    2. 试试

      sp_spaceused tablename, 1

      Here 是文档链接。

    3. 是的 - Updating statistics about indexes

      Here 是文档的链接。

    【讨论】:

      猜你喜欢
      • 2015-10-23
      • 2011-07-09
      • 2017-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多