Lucky, If you want to run queries with *JOIN*s, you should make sure, that entries are collocated. It means, that all data for a* JOIN* should be available on a single node. You may have many nodes, but each row of the result should be composed of the data, that is stored within a single data node. Here is the section in documentation, that explains this approach: https://apacheignite-sql.readme.io/docs/distributed-joins#section-collocated-joins To achieve data collocation you can configure affinity keys for your data. See https://apacheignite.readme.io/docs/affinity-collocation So, if you want to achieve reasonable performance, you should stop using *distributedJoins* option, because it has huge impact.
Also refer to this page for more information on SQL performance tuning: https://apacheignite-sql.readme.io/docs/performance-and-debugging Denis вт, 12 дек. 2017 г. в 6:08, Lucky <[email protected]>: > Denis, > Thanks very much! > All data are related ,and there are about 60G data in the heap. And if > I add other business module ,the data also are related.We can not split > them. > So If data is collocated, then a single node is enough. But it's not > high availability. > > > > > > > > > > > >
