2016-08-18 50 views
2

維基說:散列連接性能起源

先準備較小關係的哈希表。哈希表 條目由連接屬性及其行組成。因爲通過對連接屬性 應用散列函數來訪問散列表 表,通過使用 此表,通過掃描原始關係可以更快地找到給定連接屬性的行。

看起來好像這個連接算法的速度是由於我們散列R(較小的關係)而不是S(其他較大的一個)。

我的問題是我們如何比較散列版本的R行到S而不運行S上的散列函數呢?我們是否假設DB爲我們存儲一個? 或者我錯誤地假設沒有散列S,並且速度優勢是由於比較散列(獨特,小)而不是通過讀取行​​的實際數據(不唯一,可能很大)?

回答

1

散列函數也將用於連接屬性S

我認爲引用的段落的意思是在應用哈希函數的屬性,找到正確的散列桶和之後的鏈表會比用搜索該表的相應行[R快表或索引掃描。

這個速度增益的折衷是構建散列的成本。