7.1 等值查找

SQL

SELECT *
FROM Orders
WHERE CustomerID='MAISD'

SPL

像 CustomerID 这种字符串 ID 类的主键字段,一般常用的查找方式都是等值查找,不太会用上区间,这种方式既可以用哈希索引,也可以用排序索引。

哈希索引:

A
1 =file(“Orders.ctx”).open()
2 =A1.index(idh:1000000;CustomerID)
3 =A1.icursor(;CustomerID==“MAISD”).fetch()

A2 在组表 A1 上为字段 CustomerID 创建索引,取名为 idh。1000000 为哈希索引的哈希值范围,只要用了这个参数,就表示该索引为哈希索引
A3 icursor() 用索引条件过滤组表并返回单路游标

排序索引:

A
1 =file(“Orders.ctx”).open()
2 =A1.index(ids;CustomerID)
3 =A1.icursor(;CustomerID==“MAISD”).fetch()

A2 不写哈希值范围参数,就自动是排序索引了

排序索引做等值查找时,在每级索引中要做二分查找,比哈希方法的直接定位稍慢一点。但外存查找的主要时间消耗在数据读取,而不是 CPU 运算,所以两者差别不算很大。由于排序索引的适应面更广,所以绝大多数的外存索引都是排序索引。只有个别有极端性能要求,且只需要实现等值查找的场景才会使用哈希索引。

以下是广告时间

对润乾产品感兴趣的小伙伴,一定要知道软件还能这样卖哟性价比还不过瘾? 欢迎加入好多乾计划。
这里可以低价购买软件产品,让已经亲民的价格更加便宜!
这里可以销售产品获取佣金,赚满钱包成为土豪不再是梦!
这里还可以推荐分享抢红包,每次都是好几块钱的巨款哟!
来吧,现在就加入,拿起手机扫码,开始乾包之旅



嗯,还不太了解好多乾?
猛戳这里
玩转好多乾