Advanced sync setup: Difference between revisions

Jump to navigation Jump to search
Line 300: Line 300:
       </SyncDownloaderSetup>
       </SyncDownloaderSetup>
</SESetup></syntaxhighlight>
</SESetup></syntaxhighlight>
=== Disabled sorting by version number ===
Example: 5 threads, 5000 records per page, 1 GB cache size, interrupted sync disallowed, incremental sync does not use sorting by the versionnumber field. Valid for all platforms. This configuration should result in very fast sync - unless there's a memory problem (older mobile devices). Nevertheless, the setup should work for the desktop.
<syntaxhighlight lang='xml'>
<SESetup Version='1'>
      <SyncDownloaderSetup>
              <Setup DownloadCacheSize='1000' DownloadPageSize='5000' NumDownloadThreads='5' NoInterruptedEntitySync='true' NoIncSyncVersionNumberSorting='true' />
      </SyncDownloaderSetup>
</SESetup>
</syntaxhighlight>
When NoIncSyncVersionNumberSorting is set to true, the fetches of incremental sync don't use OrderBy("versionnumber"). The default value is false, i.e., unless you set this flag to true, IncSync will sort records by versionnumber.
This flag is primarily meant for Dynamics (Salesforce does not use versionnumbers).
Microsoft recommends using versionnumber sorting as it greatly improves the performance of some fetches. However, our tests show that in some cases, it has the opposite effect. Setting on/off this flag can change fetch performance from minutes to a fraction of a second - or vice versa. The reason apparently lies in the SQL server setup (definition of indexes, etc.) and cannot be predicted. Use this flag as the last resort if you have an extremely slow fetch in incremental sync. It may, but also may not help.


== Custom upload order ==
== Custom upload order ==

Navigation menu