奇迹的GAMESERVER打开就说遇到问题需要关闭

奇迹的GAMESERVER打开就说遇到问题需要关闭,第1张

奇迹服务器配置与常见问题解决办法
>举一个简单的例子来说明SQL Server 中hash join的算法
例如有两张表, 每张表都有10000行的记录, 假设做join的两个字段都是从1到10000的序数
如果要做hashjoin, 那么首先对其中的一个表上的列进行hash运算, 将生成相同值的列放在一个桶里
为了简单起见, 假定这里的hash运算就是模100, 那么这些行经过hash运算后, 会生成100组数据,也就是100个桶 每个桶中都是100条除100后余数相同的记录
然后对另一个表中的join列做相同的hash运算, 根据得到的余数,放入对应的桶里
于是得到的结果就是100个hash桶中, 每个桶中都有200条记录, 分别来自两个表
然后在桶内,再做nested loop join, 这样一个桶中最多做100100次的比对, 100个桶最多做1,000,000次的比对
而如果一开始就用nested loop join, 则最多需要做1000010000次, 也就是100,000,000次 两种算法就比对的次数来说,相差了100倍, 差异是很明显的
另外在多cpu的服务器上, hashjoin可以并行的执行,而nestedloop join 通常只能串行的执行,这就使执行时间的差异更加明显


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/13428576.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-04
下一篇 2023-08-04

发表评论

登录后才能评论

评论列表(0条)

保存