Tag Archives | hash

Hash join算法原理

转载一篇介绍Oracle’ hash Join的文章,描述笔记详细。其实其他几种关系数据库中支持hash join的,其工作原理也都类似。

自从 oracke 7.3 以来, oracle 提供了一种新的 join 技术,就是 hash join 。 Hash Join 只能用于相等连接,且只能在 CBO 优化器模式下。相对于 nested loop join , hash join 更适合处理大型结果集。 Hash join 不需要在驱动表上存在索引。

一.? ?? ??Hash Join?概述

Hash join 算法的一个基本思想就是根据小的 row sources( 称作 build input ,我们记较小的表为 S ,较大的表为 B) 建立一个可以存在于hash area 内存中的 hash table ,然后用大的 row sources( 称作 probe inp[......]

阅读全文

Tags: , ,

Comments { 0 }

【转】数学之美系列二十一:布隆过滤器(Bloom Filter)

在日常生活中,包括在设计计算机软件时,我们经常要判断一个元素是否在一个集合中。比如在字处理软件中,需要检查一个英语单词是否拼写正确(也就是要判断它是否在已知的字典中);在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上;在网络爬虫里,一个网址是否被访问过等等。最直接的方法就是将集合中全部的元素存在计算机中,遇到一个新元素时,将它和集合中的元素直接比较即可。一般来讲,计算机中的集合是用哈希表(hash table)来存储的。它的好处是快速准确,缺点是费存储空间。当集合比较小时,这个问题不显著,但是当集合巨大时,哈希表存储效率低的问题就显现出来了。比如说,一个象 Yahoo,Hotmail 和 Gmai 那样的公众电子邮件(email)提供商,总是需要过滤来自发送垃圾邮件的人(spamer)的垃圾邮件。一个办法就是记录下那些发垃圾邮件的 email 地址。由于那些发送者不停地在注册新的地址,全世[......]

阅读全文

Tags: ,

Comments { 0 }