首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL的Hash Join能用?

构建阶段:从需要进行连接的两个表中指定一个为“构建”表,该表读入内存生成哈希表,通过表的连接属性计算哈希值。...探测阶段:连接中另外的表作为探测阶段的输入使用,通过该表的连接属性计算哈希值(使用t2.id),每行数据使用其哈希值到内存中的哈希表进行查找,如果匹配记录,则输出结果。...使用经典算法要求构建表全部读入内存中,如果不能全部读入内存,将会分多次读入,会导致探测阶段产生多次读入操作。因此经典算法不是十分理想。...基于磁盘的hash join:需要将构建表和探测表分割成若干个小文件保存在磁盘上,文件的大小要保证可以完全读入内存中(分割文件的算法采用与哈希表不同的哈希函数,目的是使相同哈希值的构建表和探测表的数据保存在同一文件内...hash join能用?使用效果如何?

1.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    给32位系统装8g内存能用?为什么?

    系统位数会限制内存? 上面提到了CPU位数,系统位数,软件位数,以及数值位数之间的区别与联系。 现在,我们回到标题里提到的问题。 32位CPU和系统插8g内存条,能用?...所以,你当32位系统最大只能用到4G内存,那也没毛病。...内存条,寻址能力能超过4G?...32位CPU和操作系统,插入8G的内存,会有点浪费,因为总线寻址范围比较有限,它只能用上4G不到的内存。...64位CPU,如果装上32位的操作系统,就算插上8G的内存,效果也还是只能用上4G不到的内存。 最后 刚工作的时候一直觉得int32,有21个亿,这么大的数值肯定够用了吧,结果现实好几次打脸。

    2.8K20
    领券