"拜托解答下序列.field(字段名) 这个函数,我 spl 脚本里面用到了这个函数,但是我的字段名的动态的,变量 hostname 记录了这个字段名,我尝试用宏去占位,动态换字段名,也就是用序 .."
拜托解答下序列.field(字段名) 这个函数,我 spl 脚本里面用到了这个函数,但是我的字段名的动态的,变量 hostname 记录了这个字段名,我尝试用宏去占位,动态换字段名,也就是用序列.field(${hostname}),但是没办法成功,一直会报错,请问该怎么办呢
直接 field(hostname)。field 函数的文档后面有用变量值取字段的例子,能找到这个函数应该会看过文档的了。field 本来就是为了解决动态问题,不会再搞一轮宏。要用宏是直接写 A.${hostname}
老师, 请问下, 我现在有个需求就是我在 for 循环遍历游标, 我现在想在遍历之前统计游标中某个字段的 icount(), 也就是去重后的总数, 有什么好的解决方案吗, 之前想到了在遍历游标之前, 用 fetch 把数据全取出来, 在用 field 函数获取所有要统计的字段的序列, 再用序列的.icount() 去统计这个总数, 但是我怕这种写法把内存搞崩
没有什么办法,(超过内存的)大数据 COUNT DISTINCT 要排序,或者搞外存缓存。全世界的数据库都是这么做。但超过现代计算机内存的情况并不多,一般只会是帐户 ID 这类,而这种先排序。一个数据表里通常只会有一个这样的字段。
现排序在 icount 和直接 icount, 是先排序会性能更高吗
对的, 我这里就是要统计去重后的账户 id 老师
当然不会。排序要可以复用才有意义,一次排序多次使用
COUNT DISTINCT 问题看这些数据库太慢跑崩的一大罪魁SQL 提速:大数据 DISTINCT 和 COUNT(DISTINCT)
直接 field(hostname)。field 函数的文档后面有用变量值取字段的例子,能找到这个函数应该会看过文档的了。
field 本来就是为了解决动态问题,不会再搞一轮宏。要用宏是直接写 A.${hostname}
老师, 请问下, 我现在有个需求就是我在 for 循环遍历游标, 我现在想在遍历之前统计游标中某个字段的 icount(), 也就是去重后的总数, 有什么好的解决方案吗, 之前想到了在遍历游标之前, 用 fetch 把数据全取出来, 在用 field 函数获取所有要统计的字段的序列, 再用序列的.icount() 去统计这个总数, 但是我怕这种写法把内存搞崩
没有什么办法,(超过内存的)大数据 COUNT DISTINCT 要排序,或者搞外存缓存。全世界的数据库都是这么做。
但超过现代计算机内存的情况并不多,一般只会是帐户 ID 这类,而这种先排序。一个数据表里通常只会有一个这样的字段。
现排序在 icount 和直接 icount, 是先排序会性能更高吗
对的, 我这里就是要统计去重后的账户 id 老师
当然不会。排序要可以复用才有意义,一次排序多次使用
COUNT DISTINCT 问题看这些
数据库太慢跑崩的一大罪魁
SQL 提速:大数据 DISTINCT 和 COUNT(DISTINCT)