performance - Sybase - 索引现有表时的性能注意事项

标签 performance indexing sybase

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

  • 在创建索引之前应该采取哪些预防措施?
  • 这个过程是否需要分配更多的表空间?
  • 我应该注意其他任何性能注意事项吗?

  • 干杯

    兰吉斯

    最佳答案

  • 来自 manual .

    何时索引

    使用以下一般准则:
  • 如果您计划手动插入 IDENTITY 列,请创建
    一个唯一的索引,以确保插入不会分配一个值
    已经被使用。
  • 经常按排序顺序访问的列,即在 order by 子句中指定的列,可能应该被索引,以便
    Adaptive Server 可以利用索引顺序。
  • 连接中经常使用的列应该始终被索引,因为如果列
    是有序的。
  • 存储表主键的列通常有聚集索引,特别是当它经常与表中的列连接时
    其他表。请记住,每个只能有一个聚集索引
    table 。
  • 经常搜索值范围的列可能是聚集索引的不错选择。一旦具有第一个值的行
    在范围内找到,具有后续值的行保证
    物理上相邻。聚集索引不提供那么多
    搜索单个值的优势。

  • 何时不索引

    在某些情况下,索引没有用:
  • 查询中很少或从不引用的列不会受益
    从索引,因为系统很少需要搜索行
    这些列中的值的基础。
  • 只能有两个或三个值的列,例如“男性”和“女性”或"is"和“否”,从
    索引。
  • 尝试
    sp_spaceused tablename, 1
    Here是文档的链接。
  • 是 - Updating statistics about indexes .

    Here是文档的链接。
  • 关于performance - Sybase - 索引现有表时的性能注意事项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12469753/

    相关文章:

    python - 有没有办法从 python 中的不同列表中提取相应的项目?

    select - Sybase 子查询中的 TOP 选择

    python - 自动将 Sybase .ADT 文件转换为 SQL

    python - 为什么将 multiprocessing 与 pandas apply 一起使用会导致如此显着的加速?

    php - 如何使用 C++ 代码与 PHP 交互?

    c - 在函数内使用 const 和 static const 的速度有区别吗?

    c++ - 带有可选参数的性能与可读性

    mysql - 在以下情况下,一列与多列的 FULLTEXT 索引?

    mysql - 优化大型 MySQL 表中的索引

    MySQL 最接近 SyBase Update Set From 语法