Kdb IPC上的FK场
远程进程的一些先决条件:Kdb IPC上的FK场,kdb,k,Kdb,K,远程进程的一些先决条件: q)\p 15222 q)t:([id:10 20 30]data:`aa`bb`cc); q)kt:([]id:`t$10 20 20 30 30 30; num:til 6); 将在本地进程上执行以下操作: q)\p 15222 q)t:([id:10 20 30]data:`aa`bb`cc); q)kt:([]id:`t$10 20 20 30 30 30; num:til 6); kt的大小从两侧看都一样: 但是meta是不同的: 为什么会这样为什么传输的
q)\p 15222
q)t:([id:10 20 30]data:`aa`bb`cc);
q)kt:([]id:`t$10 20 20 30 30 30; num:til 6);
将在本地进程上执行以下操作:
q)\p 15222
q)t:([id:10 20 30]data:`aa`bb`cc);
q)kt:([]id:`t$10 20 20 30 30 30; num:til 6);
kt
的大小从两侧看都一样:meta
是不同的:我怀疑这与
enum
-q
有关,完全删除了enum
信息-这是真的吗
// remote
q)e:`a`b`c;
q)e1:`e$`b`a`c`c`a`b;
// local
q)`::15222 "type e1"
20h
q)type `::15222 "e1"
11h
是的,当通过IPC传输到另一个进程时,不会保留枚举(以及外键)
从-22开始等长
并不意味着内容相同。是的,当通过IPC传输到另一个进程时,枚举(以及外键)不会被保留
从
-22开始等长代码>并不意味着内容相同。两个表之间存在差异的原因是枚举域没有通过IPC发送,因此无法保证枚举域存在于本地进程中或与远程进程相同。如果它是从远程进程通过枚举域发送的,那么它也有可能覆盖本地进程中的本地枚举域。
另一点需要注意的是-22!检查序列化大小,该大小将删除客户端和服务器上的任何外键。
关于确定kdb对象的内存使用情况,可能值得进一步阅读。这两个表之间存在差异的原因是枚举域没有通过IPC发送,因此无法保证枚举域存在于本地进程中或与远程进程相同。如果它是从远程进程通过枚举域发送的,那么它也有可能覆盖本地进程中的本地枚举域。
另一点需要注意的是-22!检查序列化大小,该大小将删除客户端和服务器上的任何外键。
关于确定kdb对象的内存使用情况,可能值得进一步阅读
// remote
q)e:`a`b`c;
q)e1:`e$`b`a`c`c`a`b;
// local
q)`::15222 "type e1"
20h
q)type `::15222 "e1"
11h