2020-08-19 02:15发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我有一个表,当用SE16n查询时,确实显示了不正确的排序顺序。
表具有以下列:
MANDT ID(INT2-键) TEXT(CHAR80-非键)
即使按顺序输入了数据(即ID = 1、2、3等),并在使用SM30或SQL进行检查时也显示了这种方式,当我使用SE16查询时,它仍按TEXT排序 柱。
为什么会发生这种情况? 我以为SE16的默认顺序是通过表键...
预先感谢
路易斯
SE16和SE16N默认情况下不排序,就像默认情况下没有RDBMS排序一样。
您提到了带有该错误的SE16,但同时也提到了SE16N,您实际上与这些错误具有相同的行为还是不同?
我的第一个猜测是,该表已缓冲,在大多数情况下,当数据从数据库"未排序"时,这将导致其他"排序"。 您可以检查表的缓冲区设置,还可以将调用与SE16和SE16N进行比较。
如果您想将SE16 SQL select语句与SE16N,SM30或SQL编辑器中的select语句进行比较,我建议您比较 ST05 SQL跟踪(或ST01,如果需要)。
中动态构建选择语句。如果SQL语句相同,则 差异只能通过处理所选数据的程序来解释。 在那种情况下,我会假设设置了布局或使用了变体。
SQL默认不会对SELECT的结果进行排序。 您必须使用ORDER BY来做到这一点。 但是可能会影响性能。 因此,除非有排序要求,否则不会对行进行排序。 我认为SE16/SE16N中的行排序没有附加值。
自定义表通常很小。 对行进行排序并不令我感到惊讶,这不会显着影响性能。
一个简短的问题:您是否将SAP HANA用作数据库? 该数据库不会自动按主键对数据进行排序。 我目前不确定SE16或SE16N是否正在对它们进行排序。 Eclipse中的数据预览和SQL控制台肯定没有。
另一个原因可能是ID的数字类型。 在这种情况下,它们将按字母顺序排序(1、10、11,[..],2、20,...)。
另一个不确定条目排序的地方是SM30。
Luis Rodriguez a>,请继续回答您的公开问题。
在任何关系数据库中的表上都没有定义的顺序。 如果要订购,则必须排序。 对于HANA来说,这并不是新事物。 我已经在Oracle,Informix,Ingress中看到了它(是的,我很老)。
最多设置5个标签!
SE16和SE16N默认情况下不排序,就像默认情况下没有RDBMS排序一样。
您提到了带有该错误的SE16,但同时也提到了SE16N,您实际上与这些错误具有相同的行为还是不同?
我的第一个猜测是,该表已缓冲,在大多数情况下,当数据从数据库"未排序"时,这将导致其他"排序"。 您可以检查表的缓冲区设置,还可以将调用与SE16和SE16N进行比较。
如果您想将SE16 SQL select语句与SE16N,SM30或SQL编辑器中的select语句进行比较,我建议您比较 ST05 SQL跟踪(或ST01,如果需要)。
中动态构建选择语句。如果SQL语句相同,则 差异只能通过处理所选数据的程序来解释。 在那种情况下,我会假设设置了布局或使用了变体。
SQL默认不会对SELECT的结果进行排序。 您必须使用ORDER BY来做到这一点。 但是可能会影响性能。 因此,除非有排序要求,否则不会对行进行排序。 我认为SE16/SE16N中的行排序没有附加值。
自定义表通常很小。 对行进行排序并不令我感到惊讶,这不会显着影响性能。
一个简短的问题:您是否将SAP HANA用作数据库? 该数据库不会自动按主键对数据进行排序。 我目前不确定SE16或SE16N是否正在对它们进行排序。 Eclipse中的数据预览和SQL控制台肯定没有。
另一个原因可能是ID的数字类型。 在这种情况下,它们将按字母顺序排序(1、10、11,[..],2、20,...)。
另一个不确定条目排序的地方是SM30。
Luis Rodriguez a>,请继续回答您的公开问题。
在任何关系数据库中的表上都没有定义的顺序。 如果要订购,则必须排序。 对于HANA来说,这并不是新事物。 我已经在Oracle,Informix,Ingress中看到了它(是的,我很老)。
一周热门 更多>