Hi,

I'm sure this question has been asked a million times before but I
wanted to ask it as I'm unfamiliar with this code base and its
history.

For a class I'm taking, I've been reading the paper 'Join Processing
in Database Systems with Large Main Memories' by Shapiro which talks
about how great hash joins are. I was just wondering if there is a
reason why hash joins are not implemented in Drizzle? I would have
thought that hash joins might be beneficial in the environments that
Drizzle is targeting - those with large amounts of memory.

Some of the reasons that I was thinking of for no implementation of
hash joins are (feel free to correct me, that is the reason I'm
sending this email):
  - deliberate design choice to leave them out
  - difficulty of implementing them with the current code case
  - improvements to query cost from hash joins are not substantial
enough to warrant the implementation effort
  - real queries that yield a large savings from using hash joins over
other plans are rare

I saw that Mark Callaghan mentioned
(http://mysqlha.blogspot.com/2008/10/who-needs-hash-join-intel-ssd-will-soon.html)
that hash joins may not be needed due to the price of flash disk
falling so maybe this question is irrelevant. Also, from reading the
comments on that post, I saw that someone already wrote nearly of the
hash join code for MySQL and there is a detailed worklog available on
that effort (WL#2241). But apparently, that code can not be reused.

Again, I hope the list doesn't mind questions like this. I just think
it would be valuable for me to get an opinion from people who actually
work on implementing databases instead of just reading about things
like this in an academic paper.

-Padraig

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to