我理解 FIELDS 选项允许您显式指定我们想要使用的字段,这对于优化性能和减少不必要的处理很有用。处理大型记录时特别方便。
但是我仍然有一个困惑,指定FIELDS是否可以比INDEX字段更有效还是什么?只是想了解何时使用FIELDS 和INDEX。以下是示例查询。
for first td_det
fields (td_domain td_line td_nbr td_site)
where td_domain = "ASS"
and td_nbr = "123"
and td_line = 1
no-lock:
end. /*for first td_det*/
注意 - 对于字段 td_site 没有定义索引..td_domain、td_line 和 td_nbr 一起都有一个唯一的索引字段
fields 短语允许控制在客户端/服务器环境中通过网络发送哪些字段。这主要是减少网络流量的问题,因为当发送的字段较少时,单个网络数据包中可以容纳更多记录。
我不太确定“字段索引”是什么意思。
基于索引中的字段选择记录比基于索引外的字段选择记录更有效。当需要从数据库服务器检索更少的记录来选择您需要处理的记录时,这肯定会更加高效。
但请注意,索引中的字段如何使用是有规则的。例如,如果查询中使用的字段存在间隙(不能只选择索引中的第二个字段而忽略第一个字段),则无法(有效)使用索引,只能使用索引的最后一个字段索引可用于范围选择(BEGINS、>、>=、<, <=) etc..
如何/何时组合多个索引是有规则的。
更多信息: