我有一个q-gram表(2个字母串)。我需要在CHAR(2)字段上将另一个表加入到这个表中。
将这些2-gram转换为数字(例如aa=1,ab=2,ac=3),并将该表和引用表中的字段转换为INT并使用INT连接,会不会更快?
亲切的问候
彼得
发布于 2009-12-18 21:05:32
可能不会。如果是这样的话,最好使用一个小整数而不是一个整数。另外,我不确定使用varchar(2)列是否有任何意义。使用varchar列会产生额外的开销,最多只能节省一个字节。
您将拥有多少行数据?
发布于 2009-12-18 21:07:38
如果没有,这可能不会有更好的性能,此外,您还必须有一个额外的表来存储这些映射。
这也将是一个额外的加入。
只需记住为连接列应用正确的索引即可。
发布于 2009-12-18 21:08:55
那会是你的瓶颈吗?是否值得付出额外的复杂性?
也就是说,您不妨将其设置为CHAR(2)。
https://stackoverflow.com/questions/1928063
复制相似问题