eXo JCR provides two ways for interact with Database -
JDBCStorageConnection that uses simple queries and
CQJDBCStorageConection that uses complex queries
for reducing amount of database callings.
Simple queries will be used if you chose
org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer:
<workspaces>
<workspace name="ws" auto-init-root-nodetype="nt:unstructured">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
...
</workspace>
</worksapces>
Complex queries will be used if you chose
org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer:
<workspaces>
<workspace name="ws" auto-init-root-nodetype="nt:unstructured">
<container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
...
</workspace>
</worksapces>
Why we should use a Complex Queries?
| They are optimised to reduce amount of requests to database. |
Why we should use a Simple Queries?
| Simple queries implemented in way to support as many database dialects as possible. |
| Simple queries do not use sub queries, left or right joins. |