Firebird索引 - 创建和使用

时间:2014-11-17 00:50:42

标签: indexing firebird firebird2.5 firebird2.1

对于我们数据库中的现有表,

如果我在表上创建索引,例如:

create index i_system_code_system_type_no on system_code (SYSTEM_TYPE_NO);

然后设置统计信息:

set statistics index i_system_code_system_type_no;

对表执行查询时,"应该"使用索引,不是。无论出于何种原因,我猜测的优化器(除非我错过了什么),并不觉得它是最好的方法。但是,如果我重新启动Firebird Guardian服务,它确实会使用它。

服务器是否需要时间来赶上并构建索引?如果没有强迫索引在实际查询中使用,有没有办法更新或做其他事情告诉服务器使用我的新索引?我可以告诉它使用新索引,因为"适应计划"使用索引显示它,加上查询执行时间从大约0.5秒下降到"瞬间"。

这个新索引将应用于我们客户的00个数据库,因此只需尝试确定分发此更新的最佳方式,而无需重新启动每个客户计算机上的各个服务。

0 个答案:

没有答案