确定索引列
Determining the index columns
我在 table 上遇到了缓慢的查询,它有相当多的记录。
为了减少性能问题,我创建了一个暂存 table,其中包含那个大 table 的记录子集,以协助与其他 table 连接。虽然这大大提高了性能,但查询大型 table 以找出哪些记录需要插入暂存 table 的过程仍然非常昂贵。
Consulting this page,我使用 "costly missing indexes" 查询来查看可以在大型 table 上应用哪些索引,但是,它建议我将几乎每一列都包含到一个索引中。这让我想到了我的问题:索引应该是最常获取的列,还是搜索条件中最常用的列?
索引用于提高数据库查找符合搜索条件的记录的速度,因此要回答您的问题,索引仅对搜索条件中使用的列有用。
向经常获取但从未作为搜索条件出现的列添加索引除了增加 DML 操作的额外开销外没有任何用处,因为还必须维护索引。
我在 table 上遇到了缓慢的查询,它有相当多的记录。
为了减少性能问题,我创建了一个暂存 table,其中包含那个大 table 的记录子集,以协助与其他 table 连接。虽然这大大提高了性能,但查询大型 table 以找出哪些记录需要插入暂存 table 的过程仍然非常昂贵。
Consulting this page,我使用 "costly missing indexes" 查询来查看可以在大型 table 上应用哪些索引,但是,它建议我将几乎每一列都包含到一个索引中。这让我想到了我的问题:索引应该是最常获取的列,还是搜索条件中最常用的列?
索引用于提高数据库查找符合搜索条件的记录的速度,因此要回答您的问题,索引仅对搜索条件中使用的列有用。
向经常获取但从未作为搜索条件出现的列添加索引除了增加 DML 操作的额外开销外没有任何用处,因为还必须维护索引。