2011/2/22 Антон Чешков
<acheshkov@gmail.com>
I want join its by some rule and take only first "N" results. In this case i do not want serve all datasets entirely. I would like to make as little as possible.
I think this algorithms are exist.
Those algorithms exist indeed and have been implemented in last 25 years
inside RDBMS as query optimizers.
The question is, how much is that reasonable to re-implement in Haskell/Persistent?
My 2 cent guess is that there are two viable options:
1) For Relational Backends, when scalability concerns raised by Max are not important,
the approach of a monadic DSL a la HaskellDB is the best.
Basically the library job is to build the SQL query and let the RDBMS optmizer
do its job.
2) For NOSQL Backends, the solution is to code your hand rolled queries as it can be
done with persistent now (the "do nothing" solution). That is the approach suggested
for redis, for example...
Paolo