SAP OPEN SQL 中多个where条件的执行顺序?

SELECT kunnr vkorg vtweg spart kunn2
INTO TABLE gt_kunn2 FROM knvp
WHERE kunnr IN s_kunnr AND "1
vtweg IN s_vtweg AND "2
spart IN s_spart AND "3
parvw = 'ZB' AND "4
vkorg IN s_vkorg. "5
如上语句,在where条件中的5个项目中。SQL在解析的时候是按什么顺:1-2-3-4-5.,还是5-4-3-2-1?
(在上面的5个条件项中,并不是每个都有值,所以考虑到效能优化,想了解解析的顺序)

第1个回答  2012-08-07
它的检索顺序是从1到5。 它实行的顺序是和你写的顺序是一样的 。
你说按照主键查找的意思是 让写代码的人 WHERE条件先写主键 是为了提高SELECT的效率。
还有就是先写 “=” 后写"IN" "<>" ">" "<"什么的。

还有就是SELECT时不要写其他的命令 比如 排序 什么的。

最好是抽到内表里 然后SORT 因为SELECT的效率是非常低的。
第2个回答  2012-08-01
从1-5的顺序
先判断第一个,符合条件到第二个
因为是and的关系,所有条件都会判断
有一个不符合,即选择的是数据条目为0追问

我想验证下,有没有什么好方法?谢谢~~

追答

debug是看不出来的,
我是记得看过这样的文章,where条件,按照主键索引的顺序去找数据
好像是标准教材吧,有select的语法的那一本,不记得多少了

第3个回答  2012-07-31
and 的话终归是要都判断一遍的吧,跟有没有值没关系吧?

个人认为追问

是要判断一遍。
在AND条件很多的时候,应该有个顺序吧?从上往下,还是从下往上,还是按照表中字段的顺序?