Skip to content

Significant performance degradation in SQLServerDatabaseMetadata in 6.4.0 #665

@woehrl01

Description

@woehrl01

Driver version or jar name

I'm using the 6.4.0.jre8 in comparison to the 6.2.2.jre8.

SQL Server version

Microsoft SQL Server 2012 - 11.0.5343.0 (X64)

Client operating system

Microsoft Windows 10 Pro (10.0.16299)jav

Java/JVM version

Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

Problem description

After upgrading the driver from 6.2.2.jre8 to 6.4.0.jre8 I encounter a serious performance degradation in querying the metadata of the database.

The following screenshot is from the opensource tool symmetricds with the 6.2.2.jre8 driver, where you see a total execution time of 44 seconds for a method.

image

In the second screenshot you see the same code just with using the 6.4.0.jre8 driver, you can see that the total execution time is now 2 times slower (128 seconds).

image

If you tear down the callstack you'll see that the difference is in the sql server jdbc part where in the later screenshot the getImportedKeys is a lot slower than in the 6.2.2.jre8 version.

Expected behavior and actual behavior

I'd expect that the two drivers should behave equally. At least I don't expect a performance penalty of 200%.

Repro code

https://github.com/JumpMind/symmetric-ds you have to replace the driver with mssql-jdbc.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions