|[CDO] Code Review for a faster Horizontal Mapping (BIS) [message #1143582]
||Fri, 18 October 2013 09:32
| Christophe MOINE
Registered: February 2012
We've been working on a new mapping strategy (with MySQL) to fix performance issues on 0-* references. It seems to work so far, but has a few drawbacks:
- It works only with containment features and the order is then not garanted (We rely on the cdo_containment column instead of the A_B_list table) For other features, we simply delegate to the standard mapping strategy.
- The type of the containment feature must not be too generic. The more it is generic, the more table/cdo_contaiment we need to check
The advantages are the following:
- We don't bother with the order of containment feature which seriously improve performances.
- Remove redunduncy between A_B_list and the cdo_containment column if we don't mind about order (we have a few of DB corruption, this is less to repair then)
- Using the cdo_contament instead of the A_B_list is simply more Relationnal DB compliant in my point of view.
We would like to port this principle for non containment features, but this is more tricky. We would need an additionnal column (equivalent to cdo_containment) to replace the A_B_list table.
We haven't done serious benchmarking so far even if the gain is notifiable. I can try to do that if you are interested with this. We will investigate with foreign keys to check if performance can be further improved.
Before sending this into production, we would appreciate a lot some code review on the NonAuditListTableMapping2 especially.
Thank you in advance for your comments,
Powered by FUDForum
. Page generated in 0.02018 seconds