点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在执行从IQ ...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在执行从IQ ...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我正在执行从IQ 15.4到IQ 16.1 sp02 pl04的数据迁移。
在我的IQ 15表中,ROWID是完全顺序的,即行计数与max(rowid)始终匹配。
将数据迁移到我的IQ 16.1表时,即使两个系统上的行数都匹配,ROWID也不会连续,并且行数与max(rowid)不匹配。 此外,当行数超过一定数量时,IQ 16.1中的行标识符分配总是存在巨大的缺口-为什么会发生这种情况?
为什么上述IQ引擎之间的行为差异对我们很重要? 使用哈希md5函数(在IQ 15表和IQ 16表之间)执行数据验证比较时,我得到的校验和值不匹配。 这是因为IQ 16表上的ROWID包含巨大的空白,并且由于为行分配了不同的rowid,这些行值的顺序已更改,因此(有序与无序)值列表上的校验和很明显 不匹配。
我可以了解内部rowid是否不同,但这会影响IQ 16表中行的顺序,其中没有主键或已定义的顺序,因此我不能依靠md5哈希函数来验证数据 比较目的。
任何帮助或想法,将不胜感激。
此致
Asif。
在SAP Sybase IQ 15和SAP IQ 16之间,ROWID的行为没有改变,但是并行性在许多方面都有所提高。
您现在可能会看到在大多数情况下通过使用并行插入实现的速度提高的结果。 SAP Sybase IQ 15使用并行性少得多,因此ROWID更有可能是顺序的。
使用LIMIT子句是强制单线程负载的好方法,但是会牺牲很多性能,尤其是对于较大的负载。
我强烈建议您不要依赖行顺序。 没有DBMS可以保证排序查询之外的行顺序。 SAP Sybase 15的顺序ROWID是一个偶然的副作用,而不是功能。
一周热门 更多>