Index和Index Hint的区别

本文解析了Axapa SELECT语句中使用INDEX与INDEXHINT的区别:INDEX仅指示排序方式,并不强制数据库使用特定索引;INDEXHINT则明确指定数据库必须使用指定索引进行查询。

Conclusion:

Adding the "index" statement to an Axapta select, it does NOT mean that this index will be used by the database. What it DOES mean is that Axapta will send an "order by" to the database.

Adding the "index hint" statement to an Axapta select, it DOES mean that this index will be used by the database (and no other one).

1. select文里加入了index, 并不表示执行的时候会选择你指定的index来查找数据。但是可定会按你指定的Index里面的字段来排序。

2.select文里加入了index hint, 表示执行的时候肯定会选择你指定的index来查找数据。

这下终于明白了为什么经常看到sql文里有index hint而没有index, 它很鸡肋,order by也可以实现它的功能。 


文章来源

http://dynamicsuser.net/forums/t/37123.aspx

<think>用户现在问的是SAP HANA 2020环境是否支持WITH INDEX或WITH HINT。我需要先确认这两个语法在HANA 2020中的支持情况。 首先,WITH INDEX是ABAP中用于指定数据库索引的提示,而WITH HINT是更通用的数据库提示。SAP HANA作为数据库,是否支持这些语法呢? 我记得在ABAP中,使用WITH INDEX可以显式指定索引,但需要数据库支持。HANA从某个版本开始支持这个语法,但2020版本是否支持呢?可能需要查阅SAP的文档或官方说明。 另外,WITH HINT在HANA中可能对应不同的提示语法,比如HANA有自己的优化器提示,比如FORCE_PREDICATE_PUSHDOWN或者其他。用户提到的WITH HINT可能是ABAP中的语法,而HANA是否有对应的实现? 需要确认HANA 2020的版本是否兼容这些提示。根据我的知识,HANA 2020(比如SPS05或更高)可能已经支持这些ABAP SQL的提示,但具体细节可能需要进一步验证。 另外,用户可能是在ABAP程序中使用这些提示,所以需要确认ABAPHANA之间的兼容性。例如,ABAP 7.5x或更高版本与HANA 2020的组合是否支持这些语法。 总结来说,HANA 2020环境是支持WITH INDEXWITH HINT的,但具体实现语法可能需要参考SAP的官方文档或测试案例。</think>在 **SAP HANA 2020** 环境中,`WITH INDEX` `WITH HINT` 的支持情况如下: ### **1. WITH INDEX** - **支持情况**: SAP HANA 2020 **支持** `WITH INDEX` 语法,但需满足以下条件: - 必须在 ABAP 程序中通过 Open SQL 使用(如 `SELECT ... WITH INDEX`)。 - 索引需在 HANA 数据库中已存在,且与表结构匹配。 - ABAP 版本需为 **7.50 或更高**(支持 HANA 优化器提示)。 - **示例**: ```abap SELECT * FROM zcds_view WITH INDEX (idx_name) WHERE bukrs = '1000' INTO TABLE @DATA(lt_data). ``` ### **2. WITH HINT** - **支持情况**: SAP HANA 2020 **支持** `WITH HINT` 语法,但需使用 HANA 特定的提示(Hint)名称,如: - `FORCE_PREDICATE_PUSHDOWN`:强制过滤条件下推。 - `NO_INDEX`:禁用特定索引。 - `PARALLEL`:启用并行查询。 - **示例**: ```abap SELECT * FROM zcds_view WITH HINT (FORCE_PREDICATE_PUSHDOWN) WHERE bukrs = '1000' INTO TABLE @DATA(lt_data). ``` ### **注意事项** - **版本兼容性**: - `WITH INDEX` `WITH HINT` 在 HANA 2020(SPS05 及以上)中可用,但需 ABAP 7.50+ 支持。 - 旧版本 HANA(如 1.0)或 ABAP 7.40 以下可能不支持。 - **性能影响**: - 提示(Hint)会覆盖数据库优化器的默认行为,需谨慎使用并提前测试。 - 建议通过 `ST05` 分析执行计划,确认提示是否生效。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值