
2011/2/22 Антон Чешков
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 -- Paolo Losi e-mail: paolo@enuan.com mob: +39 348 7705261 ENUAN Srl Via XX Settembre, 12 - 29100 Piacenza