View Issue Details

IDProjectCategoryView StatusLast Update
0005840SymmetricDSImprovementpublic2023-10-04 13:09
Reporterelong Assigned Toelong  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.15.0 
Target Version3.15.0Fixed in Version3.15.0 
Summary0005840: Purge should use "exists" clause instead of "in" clause for performance
DescriptionModify purge service to use "exists" clause for deletes that correlate a sub-query with other tables. The "exists" clause has better performance when many rows are involved. The purge service currently uses "in" clauses to join other tables, which is compatible with most databases. Add a canDeleteUsingExists property to DatabaseInfo that can be set to false for the old behavior. MySQL 5.7 and earlier needs to use "in" clauses for deletes.
Tagsperformance, purge

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.15 d8f5efc1

2023-05-17 12:14:11

admin

Details Diff
0005840: Purge should use "exists" clause instead of "in" clause for
performance
Affected Issues
0005840
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/PurgeService.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/PurgeServiceSqlMap.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/DatabaseInfo.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mysql/MySqlDatabasePlatform.java Diff File
add - symmetric-util/src/main/java/org/jumpmind/util/VersionUtil.java Diff File

Issue History

Date Modified Username Field Change
2023-05-17 12:07 elong New Issue
2023-05-17 12:07 elong Status new => assigned
2023-05-17 12:07 elong Assigned To => elong
2023-05-17 12:07 elong Tag Attached: purge
2023-05-17 12:11 elong Summary Purge can use "exists" clause instead "in" clause for performance => Purge should use "exists" clause instead of "in" clause for performance
2023-05-17 12:27 elong Status assigned => resolved
2023-05-17 12:27 elong Resolution open => fixed
2023-05-17 12:27 elong Fixed in Version => 3.15.0
2023-10-01 23:46 admin Status resolved => closed
2023-10-03 23:00 admin Changeset attached => SymmetricDS 3.15 d8f5efc1
2023-10-04 13:09 elong Tag Attached: performance